diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2016-04-10 13:55:07 +0200 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2016-04-10 13:55:07 +0200 |
commit | 389af9187013e76036e48369276582c55bcbc849 (patch) | |
tree | 3af1df7d2836d390a781092cafafd7c6b634dfb2 /util.c | |
parent | e9b8b6c62ac1a37f795259c979fa5fce4dd8ffdb (diff) |
strtotime: improve
use long long: atleast 32-bit, but now time_t (real) to 32-bit or
64-bit is supported. Long long is C99 though, but that is fine.
check errno, it can have ERANGE.
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -218,12 +218,12 @@ parseline(char *line, char *fields[FieldLast]) int strtotime(const char *s, time_t *t) { - long l; + long long l; char *e; errno = 0; - l = strtol(s, &e, 10); - if (*s == '\0' || *e != '\0') + l = strtoll(s, &e, 10); + if (errno || *s == '\0' || *e) return -1; if (t) *t = (time_t)l; |