Blame


1 fd04aace 2003-11-23 devnull #include <u.h>
2 fd04aace 2003-11-23 devnull #include <libc.h>
3 fd04aace 2003-11-23 devnull
4 fd04aace 2003-11-23 devnull static
5 fd04aace 2003-11-23 devnull void
6 fd04aace 2003-11-23 devnull ct_numb(char *cp, int n)
7 fd04aace 2003-11-23 devnull {
8 fd04aace 2003-11-23 devnull
9 fd04aace 2003-11-23 devnull cp[0] = ' ';
10 fd04aace 2003-11-23 devnull if(n >= 10)
11 fd04aace 2003-11-23 devnull cp[0] = (n/10)%10 + '0';
12 fd04aace 2003-11-23 devnull cp[1] = n%10 + '0';
13 fd04aace 2003-11-23 devnull }
14 fd04aace 2003-11-23 devnull
15 fd04aace 2003-11-23 devnull char*
16 fd04aace 2003-11-23 devnull asctime(Tm *t)
17 fd04aace 2003-11-23 devnull {
18 8ad51794 2004-03-25 devnull int i;
19 fd04aace 2003-11-23 devnull char *ncp;
20 fd04aace 2003-11-23 devnull static char cbuf[30];
21 fd04aace 2003-11-23 devnull
22 fd04aace 2003-11-23 devnull strcpy(cbuf, "Thu Jan 01 00:00:00 GMT 1970\n");
23 fd04aace 2003-11-23 devnull ncp = &"SunMonTueWedThuFriSat"[t->wday*3];
24 fd04aace 2003-11-23 devnull cbuf[0] = *ncp++;
25 fd04aace 2003-11-23 devnull cbuf[1] = *ncp++;
26 fd04aace 2003-11-23 devnull cbuf[2] = *ncp;
27 fd04aace 2003-11-23 devnull ncp = &"JanFebMarAprMayJunJulAugSepOctNovDec"[t->mon*3];
28 fd04aace 2003-11-23 devnull cbuf[4] = *ncp++;
29 fd04aace 2003-11-23 devnull cbuf[5] = *ncp++;
30 fd04aace 2003-11-23 devnull cbuf[6] = *ncp;
31 fd04aace 2003-11-23 devnull ct_numb(cbuf+8, t->mday);
32 fd04aace 2003-11-23 devnull ct_numb(cbuf+11, t->hour+100);
33 fd04aace 2003-11-23 devnull ct_numb(cbuf+14, t->min+100);
34 fd04aace 2003-11-23 devnull ct_numb(cbuf+17, t->sec+100);
35 fd04aace 2003-11-23 devnull ncp = t->zone;
36 8ad51794 2004-03-25 devnull for(i=0; i<3; i++)
37 8ad51794 2004-03-25 devnull if(ncp[i] == 0)
38 8ad51794 2004-03-25 devnull break;
39 8ad51794 2004-03-25 devnull for(; i<3; i++)
40 8ad51794 2004-03-25 devnull ncp[i] = '?';
41 8ad51794 2004-03-25 devnull ncp = t->zone;
42 fd04aace 2003-11-23 devnull cbuf[20] = *ncp++;
43 fd04aace 2003-11-23 devnull cbuf[21] = *ncp++;
44 fd04aace 2003-11-23 devnull cbuf[22] = *ncp;
45 fd04aace 2003-11-23 devnull if(t->year >= 100) {
46 fd04aace 2003-11-23 devnull cbuf[24] = '2';
47 fd04aace 2003-11-23 devnull cbuf[25] = '0';
48 fd04aace 2003-11-23 devnull }
49 fd04aace 2003-11-23 devnull ct_numb(cbuf+26, t->year+100);
50 fd04aace 2003-11-23 devnull return cbuf;
51 fd04aace 2003-11-23 devnull }
52 fd04aace 2003-11-23 devnull
53 fd04aace 2003-11-23 devnull char*
54 fd04aace 2003-11-23 devnull ctime(long t)
55 fd04aace 2003-11-23 devnull {
56 fd04aace 2003-11-23 devnull return asctime(localtime(t));
57 fd04aace 2003-11-23 devnull }
58 fd04aace 2003-11-23 devnull