diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/utils.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/utils.c b/src/utils.c index 7baa961..c20e767 100644 --- a/src/utils.c +++ b/src/utils.c @@ -785,11 +785,10 @@ int parse_duration(const char *string, unsigned *duration) /* parse string using a simple state machine */ for (p = string; *p; p++) { - if ((*p >= '0') && (*p <= '9')) { - if (state == STATE_DONE) - return 0; - else - in = in * 10 + (int)(*p - '0'); + if (state == STATE_DONE) { + return 0; + } else if ((*p >= '0') && (*p <= '9')) { + in = in * 10 + (int)(*p - '0'); } else { switch (state) { case STATE_INITIAL: @@ -826,7 +825,6 @@ int parse_duration(const char *string, unsigned *duration) return 0; break; case STATE_HHMM_MM: - case STATE_DONE: return 0; break; } |