]> git.sur5r.net Git - tio/blob - src/time.c
Imported Upstream version 1.18
[tio] / src / time.c
1 /*
2  * tio - a simple TTY terminal I/O application
3  *
4  * Copyright (c) 2014-2016  Martin Lund
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  * 02110-1301, USA.
20  */
21
22 #include "config.h"
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include <time.h>
26 #include "tio/error.h"
27 #include "tio/print.h"
28
29 char * current_time(void)
30 {
31     static char time_string[20];
32     time_t t;
33     struct tm *tmp;
34
35     t = time(NULL);
36     tmp = localtime(&t);
37     if (tmp == NULL)
38     {
39         error_printf("Retrieving local time failed");
40         exit(EXIT_FAILURE);
41     }
42
43     strftime(time_string, sizeof(time_string), "%H:%M:%S", tmp);
44
45     return time_string;
46 }
47
48 void delay(long ms)
49 {
50     struct timespec ts;
51
52     ts.tv_sec = ms / 1000;
53     ts.tv_nsec = (ms % 1000) * 1000000;
54
55     nanosleep(&ts, NULL);
56 }