status-time/time.c
author Stiletto <blasux@blasux.ru>
Fri, 24 Oct 2014 14:13:46 +0400
changeset 10 442bed4a072e
parent 1 3e9290bf7249
child 17 5b6294779007
permissions -rw-r--r--
Locale support for status-time

#define _DEFAULT_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <strings.h>
#include <sys/time.h>
#include <errno.h>
#include <time.h>

#include "config.h"
#ifdef LOCALE
#include <locale.h>
#endif

int
main(void)
{
    char buf[129];
    time_t tim;
    struct tm *timtm;
#ifdef LOCALE
    setlocale(LC_TIME, LOCALE);
#endif

    setenv("TZ", TIMEZONE, 1);

    while (1) {
        bzero(buf, sizeof(buf));
	tim = time(NULL);
	timtm = localtime(&tim);
	if (timtm == NULL) {
		perror("localtime");
		exit(1);
	}

	if (!strftime(buf, sizeof(buf)-1, TIMEFORMAT, timtm)) {
		fprintf(stderr, "strftime == 0\n");
		exit(1);
	}
	printf("%s\n", buf);
	fflush(stdout);
	sleep(UPDATE_PERIOD);
    }
}