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