spoon

set dwm status
git clone git://git.2f30.org/spoon
Log | Files | Refs | LICENSE

date.c (516B)


      1 #include <sys/types.h>
      2 
      3 #include <stdio.h>
      4 #include <stdlib.h>
      5 #include <time.h>
      6 
      7 #include "types.h"
      8 
      9 int
     10 dateread(void *arg, char *buf, size_t len)
     11 {
     12 	struct datearg *datearg = arg;
     13 	struct tm *now;
     14 	char *oldtz;
     15 	time_t t;
     16 
     17 	oldtz = getenv("TZ");
     18 	if (datearg->tz != NULL && setenv("TZ", datearg->tz, 1) == 0)
     19 		tzset();
     20 	t = time(NULL);
     21 	now = localtime(&t);
     22 	if (oldtz != NULL)
     23 		setenv("TZ", oldtz, 1);
     24 	else
     25 		unsetenv("TZ");
     26 	if (now == NULL)
     27 		return -1;
     28 	strftime(buf, len, datearg->fmt, now);
     29 	return 0;
     30 }