1 # include <ctype.h> 2 # include "useful.h" 3 4 SCCSID(@(#)convtime.c 3.2 12/06/81); 5 6 /* 7 ** CONVTIME -- convert time 8 ** 9 ** Takes a time as an ascii string with a trailing character 10 ** giving units: 11 ** s -- seconds 12 ** m -- minutes 13 ** h -- hours 14 ** d -- days (default) 15 ** w -- weeks 16 ** 17 ** Parameters: 18 ** p -- pointer to ascii time. 19 ** 20 ** Returns: 21 ** time in seconds. 22 ** 23 ** Side Effects: 24 ** none. 25 */ 26 27 time_t 28 convtime(p) 29 char *p; 30 { 31 register time_t t, r; 32 33 r = 0; 34 while (*p != '\0') 35 { 36 t = 0; 37 while (isdigit(*p)) 38 t = t * 10 + (*p++ - '0'); 39 switch (*p++) 40 { 41 case 'w': /* weeks */ 42 t *= 7; 43 44 case '\0': 45 p--; 46 /* fall through... */ 47 48 case 'd': /* days */ 49 default: 50 t *= 24; 51 52 case 'h': /* hours */ 53 t *= 60; 54 55 case 'm': /* minutes */ 56 t *= 60; 57 58 case 's': /* seconds */ 59 break; 60 } 61 r += t; 62 } 63 64 return (r); 65 } 66