pike.git / lib / modules / Calendar.pmod / Time.pmod

version» Context lines:

pike.git/lib/modules/Calendar.pmod/Time.pmod:180:    if (utco==CALUNKNOWN)    [utco,tzn]=rules->timezone->tz_ux(ux);    if (utco!=base->utc_offset())    ls+=base->utc_offset()-utco;    }    }      // default autopromote    TimeRange autopromote()    { -  return this_object(); +  return this;    }       array(int(-1..1)) _compare(TimeRange with)    {   #define CMP(A,B) ( ((A)<(B))?-1:((A)>(B))?1:0 )       if (!objectp(with))    error("_compare: illegal argument 1, expected TimeRange: %O\n",with);       if (with->is_timeofday_f)    { -  array(int(-1..1)) cmp=with->_compare(this_object()); +  array(int(-1..1)) cmp=with->_compare(this);       return ({-cmp[0],    -cmp[2],    -cmp[1],    -cmp[3]});    }    else if (with->is_timeofday)    return ({ CMP(ux,with->ux),CMP(ux,with->ux+with->len),    CMP(ux+len,with->ux),CMP(ux+len,with->ux+with->len) });    else if (with->is_supertimerange ||
pike.git/lib/modules/Calendar.pmod/Time.pmod:241:    error("distance: incompatible class %O\n",    object_program(to));       if (to->is_timeofday_f)    return    Fraction("timeofday_f",rules,ux,0,len,0)    ->distance(to);       int m;    if ( (m=to->unix_time()-unix_time())<0) -  error("Negative distance %O .. %O\n", this_object(),to); +  error("Negative distance %O .. %O\n", this,to);       return    Second("timeofday_sd",rules,ux,m,ls,utco)    ->autopromote();    }       TimeRange range(TimeRange to)    {    if (to->is_timeofday_f)    {
pike.git/lib/modules/Calendar.pmod/Time.pmod:297:       TimeRange _add(float|int n,TimeRange step)    {    if (step->is_timeofday_f)    return Fraction("timeofday_f",rules,ux,0,len,0)    ->add(n,step);    if (step->is_timeofday)    return _move(n,step->number_of_seconds());       if (!base) make_base(); -  return base->add(n,step)->place(this_object(),1); +  return base->add(n,step)->place(this,1);    }      //! method Hour hour()   //! method Hour hour(int n)   //! method array(Hour) hours()   //! method array(Hour) hours(int first,int last)   //! method int number_of_hours()   //! <ref>hour</ref>() gives back the timerange representing the   //! first or <i>n</i>th Hour of the called object.   //! Note that hours normally starts to count at zero,
pike.git/lib/modules/Calendar.pmod/Time.pmod:764:    string format_iso_week_short();    string format_week();    string format_week_short();    string format_month();    string format_month_short();       string format_nice();       string format_iso_time()    { -  return this_object()->format_iso_ymd()+" "+format_todz_iso(); +  return this->format_iso_ymd()+" "+format_todz_iso();    }       string format_ext_time()    { -  return this_object()->format_ext_ymd()+" "+format_tod(); +  return this->format_ext_ymd()+" "+format_tod();    }       string format_time()    { -  return this_object()->format_ymd()+" "+format_tod(); +  return this->format_ymd()+" "+format_tod();    }       string format_time_short()    { -  return this_object()->format_ymd_short()+" "+format_tod(); +  return this->format_ymd_short()+" "+format_tod();    }       string format_iso_short()    { -  return this_object()->format_ymd_short()+"T"+format_tod(); +  return this->format_ymd_short()+"T"+format_tod();    }       string format_time_xshort()    { -  return this_object()->format_ymd_xshort()+" "+format_tod(); +  return this->format_ymd_xshort()+" "+format_tod();    }       string format_mtime()    { -  return this_object()->format_ymd()+" "+format_mod(); +  return this->format_ymd()+" "+format_mod();    }       string format_xtime()    { -  return this_object()->format_ymd()+" "+format_xtod(); +  return this->format_ymd()+" "+format_xtod();    }       string format_ctime()    {    if (!base) make_base();    return replace(base->format_ctime(),    "00:00:00",format_tod());    }       string format_http()
pike.git/lib/modules/Calendar.pmod/Time.pmod:896:    base->month_day_name(),    base->month_shortname(),    base->year_name(),    ls/3600, (ls/60)%60, ls%60,    -u/3600,max(u,-u)/60%60);    }       string format_elapsed()    {    string res=""; -  object left=this_object(); +  object left=this;    int x; -  if ( (x=(this_object()/Day)) ) +  if ( (x=(this/Day)) )    {    res+=sprintf("%dd",x); -  left=this_object()->add(x,Day)->range(this_object()->end()); +  left=this->add(x,Day)->range(this->end());    }    return sprintf("%s%d:%02d:%02d",    res,left->len/3600,    (left->len/60)%60,    left->len%60);    }      // --------       TimeofDay set_ruleset(.Ruleset r)
pike.git/lib/modules/Calendar.pmod/Time.pmod:984:   // --------      // #define TIME_OPERATOR_DEBUG   #ifdef TIME_OPERATOR_DEBUG   #define DEBUG_OVERLOAD_OPERATOR(OP,NAME,IND) \    TimeRange OP(mixed ...args) \    { \    _ind+=IND; \    TimeRange x=::OP(@args); \    _ind=_ind[..sizeof(_ind)-sizeof(IND)-1]; \ -  werror(_ind+" %O\n",this_object()); \ +  werror(_ind+" %O\n",this); \    foreach (args,TimeRange t) werror(_ind+NAME+" %O\n",t); \    werror(_ind+"= %O\n",x); \    return x; \    }    DEBUG_OVERLOAD_OPERATOR(`&,"&","| ");    DEBUG_OVERLOAD_OPERATOR(`^,"^","| ");    DEBUG_OVERLOAD_OPERATOR(`|,"|","| ");    DEBUG_OVERLOAD_OPERATOR(subtract,"-","| ");   #endif   }
pike.git/lib/modules/Calendar.pmod/Time.pmod:1244:    }       static void convert_from(TimeRange other)    {    ::convert_from(other);    len-=len%3600;    }       TimeofDay _move(int n,int m)    { -  if (m==0 || n==0) return this_object(); +  if (m==0 || n==0) return this;    if (m%3600)    return Second("timeofday",rules,ux,len)->_move(n,m);    return Hour("timeofday",rules,ux+n*m,len)->autopromote();    }          string _sprintf(int t,mapping m)    {    if (catch {    switch (t)
pike.git/lib/modules/Calendar.pmod/Time.pmod:1358:    }       static void convert_from(TimeRange other)    {    ::convert_from(other);    len-=len%60;    }       TimeofDay _move(int n,int m)    { -  if (m==0 || n==0) return this_object(); +  if (m==0 || n==0) return this;    if (m%60) return Second("timeofday",rules,ux,len)->_move(n,m);    return Minute("timeofday",rules,ux+n*m,len)->autopromote();    }       string _sprintf(int t,mapping m)    {    switch (t)    {    case 'O':    if (!base) make_base();
pike.git/lib/modules/Calendar.pmod/Time.pmod:1458:    TimeofDay autopromote()    {    if (ls==CALUNKNOWN) make_local();    if (!(ls%60) && !(len%60))    return Minute("timeofday",rules,ux,len)->autopromote();    return ::autopromote();    }       TimeofDay _move(int n,int m)    { -  if (m==0 || n==0) return this_object(); +  if (m==0 || n==0) return this;    return Second("timeofday",rules,ux+n*m,len)->autopromote();    }       string _sprintf(int t,mapping m)    {    switch (t)    {    case 'O':    if (len!=1)    return sprintf("Second(%s)",
pike.git/lib/modules/Calendar.pmod/Time.pmod:1497:    string format_nice()    {    if (ls==CALUNKNOWN) make_local();    if (!base) make_base();    return base->format_nice()+" "+    sprintf("%d:%02d:%02d",ls/3600,ls/60%60,ls%60);    }      // backwards compatible with calendar I    string iso_name() -  { return this_object()->format_ymd()+" T"+format_tod(); } +  { return this->format_ymd()+" T"+format_tod(); }    string iso_short_name() -  { return this_object()->format_ymd_short()+" T"+(format_tod()-":"); } +  { return this->format_ymd_short()+" T"+(format_tod()-":"); }          TimeRange place(TimeRange what,void|int force)    {    if (what->is_hour)    return hour()->place(what);    if (what->is_minute)    return minute()->place(what);    if (what->is_fraction)    {
pike.git/lib/modules/Calendar.pmod/Time.pmod:1589:    else if (args[0]=="timeofday_f")    {    rules=[object(.Ruleset)]args[1];    ux=[int]args[2];    ns=[int]args[3];    len_s=[int]args[4];    len_ns=[int]args[5];    ls=CALUNKNOWN;       if (ns<0) -  error("Can't create negative ns: %O\n",this_object()); +  error("Can't create negative ns: %O\n",this);       if (!rules) error("no rules\n");       if (len_ns>=inano) len_s+=(len_ns/inano),len_ns%=inano;    if (ns>=inano) ux+=(ns/inano),ns%=inano;    len=len_s+(ns+len_ns+inano-1)/inano;       if (ns<0) -  error("Can't create negative ns: %O\n",this_object()); +  error("Can't create negative ns: %O\n",this);       return;    }    else if (intp(args[0]) && sizeof(args)==1)    {    rules=default_rules;    create_unixtime(args[0]);    return;    }    else switch (args[0])
pike.git/lib/modules/Calendar.pmod/Time.pmod:1760:    return base->format_nice()+" "+    sprintf("%d:%02d:%02d.%06d",    ls/3600,ls/60%60,ls%60,ns/1000);    }       TimeofDay autopromote()    {    if (!ns && !len_ns)    return Second("timeofday",rules,ux,len_s)->autopromote();    -  return this_object(); +  return this;    }       TimeofDay set_ruleset(.Ruleset r)    {    return    Fraction("timeofday",r,ux,len,ns)    ->autopromote();    }       TimeofDay _move(int n,int z_s,void|int z_ns)
pike.git/lib/modules/Calendar.pmod/Time.pmod:1828:       if (to->is_timeofday)    s2=to->ux;    else    s2=to->unix_time();      // ns is 0 in an object that doesn't have ns       if (s2<s1 ||    (s2==s1 && to->ns<ns)) -  error("Negative distance %O .. %O\n", this_object(),to); +  error("Negative distance %O .. %O\n", this,to);       return    Fraction("timeofday_f",rules,ux,ns,s2-s1-1,to->ns-ns+inano)    ->autopromote();    }       TimeRange range(TimeRange to)    {    return distance(to->end());    }
pike.git/lib/modules/Calendar.pmod/Time.pmod:1864:    else if (with->is_timeofday)    return ({ CMP2(ux,ns,with->ux,0),    CMP2(ux,ns,with->ux+with->len,0),    CMP2(ux+len_s,ns+len_ns,with->ux,0),    CMP2(ux+len_s,ns+len_ns,with->ux+with->len, 0) });    return ::_compare(with);    }       TimeofDay beginning()    { -  if (len_s==0.0 && len_ns==0.0) return this_object(); +  if (len_s==0.0 && len_ns==0.0) return this;    return Fraction("timeofday_f",rules,ux,ns,0,0)    ->autopromote();    }       TimeofDay end()    { -  if (len_s==0 && len_ns==0) return this_object(); +  if (len_s==0 && len_ns==0) return this;    object q=Fraction("timeofday_f",rules,ux+len_s,ns+len_ns,0,0)    ->autopromote();    return q;    }       TimeRange set_size_seconds(int seconds)    {    if (seconds<0) error("Negative size\n");    return Fraction("timeofday_f",rules,ux,ns,seconds,0)    ->autopromote();
pike.git/lib/modules/Calendar.pmod/Time.pmod:1927:    from=(float)range[0],to=(float)range[1];    else if (sizeof(range)==0)    from=0.0,to=n;    else    error("Illegal arguments\n");    if (from<0.0) from=0.0;    if (to>n) to=n;    if (to<from)    return ({});    -  if (from==0.0 && to==n) return ({this_object()}); +  if (from==0.0 && to==n) return ({this});       to-=from;    return ({Fraction("timeofday_f",rules,    ux+(int)from,ns+(int)(inano*(from-(int)from)),    (int)to,(int)(inano*(to-(int)to)))});    }       mapping datetime()    {    return ::datetime()|(["fraction":ns*(1.0/inano)]);
pike.git/lib/modules/Calendar.pmod/Time.pmod:1953:    return sprintf("%02d:%02d:%02d.%06d",    ls/3600,    (ls/60)%60,    ls%60,    ns/1000);    }       string format_elapsed()    {    int x; -  if ( (x=(this_object()/Day)) ) +  if ( (x=(this/Day)) )    { -  object left=this_object()->add(x,Day)->range(this_object()->end()); +  object left=this->add(x,Day)->range(this->end());    return sprintf("%dd%d:%02d:%02d.%03d",    x,left->len_s/3600,    (left->len_s/60)%60,    left->len_s%60,    left->len_ns/1000000);    }    if (len_s>=3600)    return sprintf("%d:%02d:%02d.%03d",    len_s/3600,(len_s/60)%60,    len_s%60,len_ns/1000000);