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

version» Context lines:

pike.git/lib/modules/Calendar.pmod/YMD.pike:805:    {    int m=number_of_days();    if (m<=1 || m+yd-1<year()->number_of_days()) return 1;    return 1+y-year_from_julian_day(jd+m-1)[0];    }       array(cYear) years(void|int from, void|int to)    {    int n=number_of_years();    -  if (zero_type (from)) { +  if (undefinedp (from)) {    from = 1;    to = n;    }    else -  if (zero_type (to)) +  if (undefinedp (to))    error("Illegal numbers of arguments to years()\n");    else    {    if (from>n) return ({}); else if (from<1) from=1;    if (to>n) to=n; else if (to<from) return ({});    }       return map(enumerate(1+to-from,1,y+from-1),    lambda(int x)    { return Year("ymd_yn",rules,x,1); });    }       cYear year(void|int m)    { -  if (zero_type (m)) m=1; +  if (undefinedp (m)) m=1;       if (!n&&m==-1)    return Year("ymd_y",rules,y,yjd,1);       if (m<0) m += 1 + number_of_years();       array(TimeRange) res=years(m,m);    if (sizeof(res)==1) return res[0];    error("Not in range (Year 1..%d exist)\n",    number_of_years());
pike.git/lib/modules/Calendar.pmod/YMD.pike:847:         // days       int number_of_days();       array(cDay) days(void|int from, void|int to)    {    int n=number_of_days();    -  if (zero_type (from)) { +  if (undefinedp (from)) {    from = 1;    to = n;    }    else -  if (zero_type (to)) +  if (undefinedp (to))    error("Illegal number of arguments to days()\n");    else    {    if (from>n) return ({}); else if (from<1) from=1;    if (to>n) to=n; else if (to<from) return ({});    }       int zy=y;    int zyd=yd+from-1;    int zjd=jd+from-1;
pike.git/lib/modules/Calendar.pmod/YMD.pike:891:    }       [zy,zyjd]=year_from_julian_day(zjd);    zyd=zjd-zyjd+1;    }    return res;    }       cDay day(void|int m, mixed... ignored)    { -  if (zero_type (m)) m=1; +  if (undefinedp (m)) m=1;       if (!n)    return Day("ymd_yd",rules,y,yjd,jd,yd,1);       if (m<0) m+=1+number_of_days();       array(TimeRange) res=days(m,m);    if (sizeof(res)==1) return res[0];    if(number_of_days())    error("Not in range (Day 1..%d exist).\n",
pike.git/lib/modules/Calendar.pmod/YMD.pike:2920: Inside #if undefined(NOCATCH)
  #ifndef NOCATCH    if (catch {   #else    werror("%O\n",m);   #endif    if (m->n && m->n!="") return 0;       if (m->Y)    m->Y=default_rules->language[f_year_number_from_name](m->Y);    -  if (!zero_type(m->Y) && m->D && (int)m->M) +  if (!undefinedp(m->Y) && m->D && (int)m->M)    low=m->day=cal->Day(m->Y,(int)m->M,(int)m->D);          if (m->d)    {    int y,mo,d;       if (sizeof(m->d)==6)    {    [y,mo,d]=(array(int))(m->d/2);
pike.git/lib/modules/Calendar.pmod/YMD.pike:2944:    y+=dwim_year->past_century;    }    else if (sizeof(m->d)==8)    [y,mo,d]=(array(int))array_sscanf(m->d,"%4s%2s%2s");    else return 0;       low=m->day=cal->Day(y,mo,d);    }    else    { -  if (!zero_type(m->Y)) m->year=cal->Year(m->Y); +  if (!undefinedp(m->Y)) m->year=cal->Year(m->Y);    else if (m->y)    {    if (sizeof(m->y)<3)    {    m->y=(int)m->y;    // FIXME? these should be adjustable for different calendars.    if (m->y<dwim_year->past_lower)    m->y+=dwim_year->current_century;    else if (m->y<dwim_year->past_upper)    m->y+=dwim_year->past_century;
pike.git/lib/modules/Calendar.pmod/YMD.pike:2967:    }    else low=m->year=context?context->year():cal->Year();       if (m->M)    {    m->month=low=m->year->month(m->M);    }    if (m->W)    m->week=low=m->year->week("w"+m->W);    -  if (!zero_type(m->D)) +  if (!undefinedp(m->D))    m->day=low=(m->month||(context?context->month():cal->Month()))    ->day((int)m->D); -  else if (!zero_type(m->a)) +  else if (!undefinedp(m->a))    m->day=low=(m->month || m->year)->day(m->a); -  else if (!zero_type(m->e)) +  else if (!undefinedp(m->e))    m->day=low=(m->week||(context?context->week():cal->Week()))    ->day(m->e);    else    low=m->day=context?context->day():cal->Day();    -  if (m->day && zero_type(m->Y) && zero_type(m->y) && m->e) +  if (m->day && undefinedp(m->Y) && undefinedp(m->y) && m->e)    if (m->month)    {    // scan for closest year that matches    cYear y2=m->day->year();    object d2;    int i;    for (i=0; i<20; i++)    {    d2=(y2+i)->place(m->day);    if (d2 && d2->week()->day(m->e)==d2) break;
pike.git/lib/modules/Calendar.pmod/YMD.pike:3027:    if (m->t)    {    if (sizeof(m->t)==6)    [h,mi,s]=(array(int))(m->t/2),g="second";    else if (sizeof(m->t)==4)    [h,mi]=(array(int))(m->t/2),g="minute";    else return 0;    }    else    { -  if (!zero_type(m->h)) h=m->h,g="hour"; -  if (!zero_type(m->m)) mi=m->m,g="minute"; -  if (!zero_type(m->s)) s=m->s,g="second"; -  if (!zero_type(m->f)) sub_second=(float)("0."+m->f+"0"*9)[..10]; +  if (!undefinedp(m->h)) h=m->h,g="hour"; +  if (!undefinedp(m->m)) mi=m->m,g="minute"; +  if (!undefinedp(m->s)) s=m->s,g="second"; +  if (!undefinedp(m->f)) sub_second=(float)("0."+m->f+"0"*9)[..10];    }    -  if (!zero_type(m->p)) +  if (!undefinedp(m->p))    {    switch (lower_case(m->p)-".")    {    case "am":    if (h==12) h=0;    break;    case "pm":    if (h!=12) h+=12;    break;    default:    return 0; // need "am" or "pm"    }    }    if (m->z) // zone    low = dwim_zone(low,m->z,g,h,mi,s);    else if (g)    low = dwim_tod(low,g,h,mi,s); -  else if (!zero_type(m->S)) +  else if (!undefinedp(m->S))    low = Second(m->S);    if (sub_second)    low = low->fraction(sub_second);    return low;      #ifndef NOCATCH    })   #endif    return 0;   }