summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBaptiste Jonglez <baptiste--git@jonglez.org>2012-05-02 16:19:30 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2012-05-02 17:11:13 +0200
commit0a352fe5190c7ba40dec2c29bafd181c1984bb95 (patch)
tree5b9fa3712208b638c3f609ada04b97d42717cc1c /src
parent6fd0ae2ea74b1dbb713e822de425bb415217de14 (diff)
downloadcalcurse-0a352fe5190c7ba40dec2c29bafd181c1984bb95.zip
src/utils.c: Get rid of "semantic range checks" when parsing duration
Don't restrict ranges when entering durations. We now accept duration like "+1d42h600m". This might not seem very logical, but it's perfectly valid, and being able to enter "+36h" is useful when you don't want to do the maths yourself. Signed-off-by: Baptiste Jonglez <baptiste--git@jonglez.org> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src')
-rw-r--r--src/utils.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/src/utils.c b/src/utils.c
index 56295f6..aa4a2d6 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -729,9 +729,6 @@ parse_time (const char *string, unsigned *hour, unsigned *minute)
*
* "\d" is used as a placeholder for "(0|1|2|3|4|5|6|7|8|9)".
*
- * Note that this function performs an additional range check on each token to
- * ensure we do not accept semantically invalid strings such as "42:23".
- *
* Returns 1 on success and 0 on failure.
*/
int
@@ -779,15 +776,11 @@ parse_duration (const char *string, unsigned *duration)
}
else if (*p == 'h')
{
- if (in >= DAYINHOURS)
- return 0;
dur += in * HOURINMIN;
state = STATE_DDHHMM_MM;
}
else if (*p == 'm')
{
- if (in >= HOURINMIN)
- return 0;
dur += in;
state = STATE_DONE;
}
@@ -797,15 +790,11 @@ parse_duration (const char *string, unsigned *duration)
case STATE_DDHHMM_HH:
if (*p == 'h')
{
- if (in >= DAYINHOURS)
- return 0;
dur += in * HOURINMIN;
state = STATE_DDHHMM_MM;
}
else if (*p == 'm')
{
- if (in >= HOURINMIN)
- return 0;
dur += in;
state = STATE_DONE;
}
@@ -815,8 +804,6 @@ parse_duration (const char *string, unsigned *duration)
case STATE_DDHHMM_MM:
if (*p == 'm')
{
- if (in >= HOURINMIN)
- return 0;
dur += in;
state = STATE_DONE;
}