From: Theodore Ts'o Date: Wed, 11 Apr 2007 01:10:55 +0000 (-0400) Subject: Fix debugfs's date parser so that it accepts integer values X-Git-Tag: E2FSPROGS-1_40~55 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=a4ea6b98f3c853d70bc08e01ce098c287c2ffd4c;p=tools%2Fe2fsprogs.git Fix debugfs's date parser so that it accepts integer values Signed-off-by: "Theodore Ts'o" --- diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog index 6a4de62..d7fbed9 100644 --- a/debugfs/ChangeLog +++ b/debugfs/ChangeLog @@ -1,3 +1,8 @@ +2007-04-10 Theodore Tso + + * util.c (string_to_time): Fix bug in date parser so that integer + time values can be used. + 2007-04-02 Theodore Tso * dump.c (do_rdump): Use O_LARGEFILE when creating files. Add a diff --git a/debugfs/util.c b/debugfs/util.c index 714d799..13eb7d9 100644 --- a/debugfs/util.c +++ b/debugfs/util.c @@ -208,7 +208,7 @@ char *time_to_string(__u32 cl) extern time_t string_to_time(const char *arg) { struct tm ts; - unsigned long ret; + time_t ret; char *tmp; if (strcmp(arg, "now") == 0) { @@ -227,14 +227,14 @@ extern time_t string_to_time(const char *arg) ts.tm_min > 59 || ts.tm_sec > 61) ts.tm_mday = 0; #endif - if (ts.tm_mday == 0) { + ret = mktime(&ts); + if (ts.tm_mday == 0 || ret == ((time_t) -1)) { /* Try it as an integer... */ - ret = strtoul(arg, &tmp, 0); if (*tmp) return ((time_t) -1); } - return mktime(&ts); + return ret; } /*