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

version» Context lines:

pike.git/lib/modules/Calendar.pmod/Gregorian.pmod:1441:    return array_sscanf(s,"%d")[0];    else    return s;    });       if (sizeof(res)<sizeof(q))    return 0; // parse error       mapping m=mkmapping(q,res);    -  if (m->Y) m->year=Year(m->Y); -  else if (m->y) +  if (!zero_type(m->Y)) m->year=Year(m->Y); +  else if (!zero_type(m->y))    {    if (m->y<70) m->y+=2000;    else if (m->y<100) m->y+=1900;    m->year=Year(m->y);    }    else m->year=Year();       object low=m->year;       if (m->M)    {    m->month=low=m->year->month(m->M);    if(!m->month)    return 0; // Unknown month    }    if (m->W)    m->week=low=m->year->week(m->W);       if (m->D)    m->day=low=(m->month||Month())->day(m->D); -  else if (m->a) +  else if (!zero_type(m->a))    m->day=low=m->year->day(m->a); -  else if (m->e) +  else if (!zero_type(m->e))    m->day=low=(m->week||Week())->day(m->e);    -  if (m->h) +  if (!zero_type(m->h))    low=m->hour=(m->day||Day())->hour(m->h); -  if (m->m) +  if (!zero_type(m->m))    low=m->minute=(m->hour||Hour())->minute(m->m); -  if (m->s) +  if (!zero_type(m->s))    low=m->second=(m->minute||Minute())->second(m->s);       return low;   }      //-- auxillary functions------------------------------------------------      //!   //! function datetime(int|void unix_time)   //! Replacement for localtime.