Lines Matching refs:str
270 * .call err = parse_time(str, opt).
271 * .arg str - ptr to user input string.
277 parse_time(char *str, int opt)
284 len = strlen(str);
289 if (*str++ != '+') {
291 do_invalid(), str);
298 do_invalid(), str);
305 str);
313 if ((strxx = strpbrk(str, "dhms")) == NULL) {
316 do_invalid(), str);
323 if (strlen(str) != strspn(str, "0123456789")) {
326 do_invalid(), str);
337 lnum = atol(str);
344 if (derive_date(str, &thentime))
373 * .call ret = derive_date(str, tme).
374 * .arg str - ptr to input string.
380 derive_date(char *str, struct tm *tme)
387 len = strlen(str);
389 if (len != strspn(str, digits)) {
391 do_invalid(), str);
397 do_invalid(), str);
415 if ((str[0] != '1' || str[1] != '9') && /* 19XX */
416 (str[0] != '2' || str[1] != '0')) { /* 20XX */
418 str[0], str[1], str[2], str[3]);
424 len = strlen(str); /* may have changed */
427 gettext("invalid date/time length (%s)"), str);
434 (void) strncpy(strs, str, 4);
437 (void) strncpy(strs, str + 4, 2);
440 (void) strncpy(strs, str + 6, 2);
444 (void) strncpy(strs, str + 8, 2);
449 (void) strncpy(strs, str + 10, 2);
454 (void) strncpy(strs, str + 12, 2);