Imported Upstream version 0.0.5
[ptask-pkg-ubuntu.git] / src / ptime.c
1 /*
2  * Copyright (C) 2010-2013 jeanfi@gmail.com
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  * 02110-1301 USA
18  */
19 #include <stdlib.h>
20
21 #include <log.h>
22 #include <ptime.h>
23
24 static char *time_to_str(time_t *t)
25 {
26         struct tm lt;
27         char *str;
28
29         if (!localtime_r(t, &lt))
30                 return NULL;
31
32         str = malloc(64);
33
34         if (strftime(str, 64, "%s", &lt)) {
35                 return str;
36         } else {
37                 free(str);
38                 return NULL;
39         }
40 }
41
42 char *get_time_str()
43 {
44         time_t t;
45
46         t = time(NULL);
47         return time_to_str(&t);
48 }
49
50 char *tm_to_str(const struct tm *tm)
51 {
52         char *str;
53         size_t s;
54
55         str = malloc(11);
56         s = strftime(str, 11, "%Y/%m/%d", tm);
57
58         if (s)
59                 return str;
60
61         log_err("Failed to convert time");
62         return NULL;
63 }