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;
}