Lines Matching refs:val

37   int val;
74 for (f = 0; t[f].val != -1; f++)
77 return t[f].val;
128 adjyear(struct tm *t, char type, int val, int mk)
132 t->tm_year += val;
135 t->tm_year -= val;
138 t->tm_year = val;
149 adjmon(struct tm *t, char type, int val, int istext, int mk)
153 if (val < 0)
159 if (val <= t->tm_mon)
160 val += 11 - t->tm_mon; /* early next year */
162 val -= t->tm_mon + 1; /* later this year */
164 if (val) {
165 if (!adjyear(t, '+', (t->tm_mon + val) / 12, 0))
167 val %= 12;
168 t->tm_mon += val;
176 if (val-1 > t->tm_mon)
177 val = 13 - val + t->tm_mon; /* later last year */
179 val = t->tm_mon - val + 1; /* early this year */
181 if (val) {
182 if (!adjyear(t, '-', val / 12, 0))
184 val %= 12;
185 if (val > t->tm_mon) {
188 val -= 12;
190 t->tm_mon -= val;
195 if (val > 12 || val < 1)
197 t->tm_mon = --val;
209 adjday(struct tm *t, char type, int val, int mk)
215 while (val) {
217 if (val > lmdays - t->tm_mday) {
218 val -= lmdays - t->tm_mday + 1;
223 t->tm_mday += val;
224 val = 0;
229 while (val)
230 if (val >= t->tm_mday) {
231 val -= t->tm_mday;
237 t->tm_mday -= val;
238 val = 0;
242 if (val > 0 && val <= daysinmonth(t))
243 t->tm_mday = val;
253 adjwday(struct tm *t, char type, int val, int istext, int mk)
255 if (val < 0)
261 if (val < t->tm_wday)
262 val = 7 - t->tm_wday + val; /* early next week */
264 val -= t->tm_wday; /* later this week */
266 val *= 7; /* "-v+5w" == "5 weeks in the future" */
267 return !val || adjday(t, '+', val, mk);
270 if (val > t->tm_wday)
271 val = 7 - val + t->tm_wday; /* later last week */
273 val = t->tm_wday - val; /* early this week */
275 val *= 7; /* "-v-5w" == "5 weeks ago" */
276 return !val || adjday(t, '-', val, mk);
278 if (val < t->tm_wday)
279 return adjday(t, '-', t->tm_wday - val, mk);
280 else if (val > 6)
282 else if (val > t->tm_wday)
283 return adjday(t, '+', val - t->tm_wday, mk);
289 adjhour(struct tm *t, char type, int val, int mk)
291 if (val < 0)
296 if (val) {
299 days = (t->tm_hour + val) / 24;
300 val %= 24;
301 t->tm_hour += val;
309 if (val) {
312 days = val / 24;
313 val %= 24;
314 if (val > t->tm_hour) {
316 val -= 24;
318 t->tm_hour -= val;
325 if (val > 23)
327 t->tm_hour = val;
334 adjmin(struct tm *t, char type, int val, int mk)
336 if (val < 0)
341 if (val) {
342 if (!adjhour(t, '+', (t->tm_min + val) / 60, 0))
344 val %= 60;
345 t->tm_min += val;
352 if (val) {
353 if (!adjhour(t, '-', val / 60, 0))
355 val %= 60;
356 if (val > t->tm_min) {
359 val -= 60;
361 t->tm_min -= val;
366 if (val > 59)
368 t->tm_min = val;
375 adjsec(struct tm *t, char type, int val, int mk)
377 if (val < 0)
382 if (val) {
383 if (!adjmin(t, '+', (t->tm_sec + val) / 60, 0))
385 val %= 60;
386 t->tm_sec += val;
393 if (val) {
394 if (!adjmin(t, '-', val / 60, 0))
396 val %= 60;
397 if (val > t->tm_sec) {
400 val -= 60;
402 t->tm_sec -= val;
407 if (val > 59)
409 t->tm_sec = val;
422 int val;
439 val = trans(trans_wday, arg);
440 if (val != -1) {
441 if (!adjwday(t, type, val, 1, 1))
444 val = trans(trans_mon, arg);
445 if (val != -1) {
446 if (!adjmon(t, type, val, 1, 1))
452 val = atoi(arg);
457 if (!adjsec(t, type, val, 1))
461 if (!adjmin(t, type, val, 1))
465 if (!adjhour(t, type, val, 1))
470 if (!adjday(t, type, val, 1))
475 if (!adjwday(t, type, val, 0, 1))
480 if (!adjmon(t, type, val, 0, 1))
485 if (!adjyear(t, type, val, 1))