Lines Matching refs:set

70  * generate a Time_t from tm + set
74 gen(register Tm_t* tm, register Set_t* set)
80 if (set->year >= 0)
81 tm->tm_year = set->year;
82 if (set->mon >= 0)
84 if (set->year < 0 && set->mon < tm->tm_mon)
86 tm->tm_mon = set->mon;
87 if (set->yday < 0 && set->mday < 0)
88 tm->tm_mday = set->mday = 1;
90 if (set->week >= 0)
92 if (set->mon < 0)
94 tmweek(tm, set->weektype, set->week, set->wday);
95 set->wday = -1;
98 else if (set->yday >= 0)
100 if (set->mon < 0)
103 tm->tm_mday = set->yday + 1;
106 else if (set->mday >= 0)
107 tm->tm_mday = set->mday;
108 if (set->hour >= 0)
110 if (set->hour < tm->tm_hour && set->yday < 0 && set->mday < 0 && set->wday < 0)
112 tm->tm_hour = set->hour;
113 tm->tm_min = (set->min >= 0) ? set->min : 0;
114 tm->tm_sec = (set->sec >= 0) ? set->sec : 0;
116 else if (set->min >= 0)
118 tm->tm_min = set->min;
119 tm->tm_sec = (set->sec >= 0) ? set->sec : 0;
121 else if (set->sec >= 0)
122 tm->tm_sec = set->sec;
123 if (set->nsec < 1000000000L)
124 tm->tm_nsec = set->nsec;
125 if (set->meridian > 0)
130 else if (set->meridian == 0)
135 t = tmxtime(tm, set->zone);
136 if (set->yday >= 0)
140 tm->tm_mday += set->yday - tm->tm_yday;
142 else if (set->wday >= 0)
146 if ((n = set->wday - tm->tm_wday) < 0)
152 if (set->nsec < 1000000000L)
159 tm->tm_nsec = set->nsec;
161 return z ? tmxtime(tm, set->zone) : t;
183 Set_t set;
193 CLEAR(set);
229 set.wday = n;
244 set.mon = n;
251 set.year = (n - 19) * 100 + tm->tm_year % 100;
259 set.mday = n;
278 set.hour = n;
283 set.hour = n;
287 set.yday = n - 1;
291 set.mon = n - 1;
295 set.min = n;
307 set.nsec = n;
312 set.meridian = n;
327 CLEAR(set);
331 set.sec = n;
335 set.wday = n % 7;
339 set.week = n;
340 set.weektype = 0;
344 set.week = n;
345 set.weektype = 2;
349 set.wday = n;
353 set.week = n;
354 set.weektype = 1;
366 set.year = n;
370 set.year = n - 1900;
387 set.zone = zp->west + m;
395 x = gen(tm, &set);
437 t = gen(tm, &set);