summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/basic/calendarspec.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/basic/calendarspec.c b/src/basic/calendarspec.c
index 1b1acd3e0b..2e5622699d 100644
--- a/src/basic/calendarspec.c
+++ b/src/basic/calendarspec.c
@@ -510,12 +510,10 @@ static int parse_component_decimal(const char **p, bool usec, int *res) {
return -ERANGE;
value *= USEC_PER_SEC;
- if (*e == '.') {
- unsigned add;
- /* This is the start of a range, not a fractional part */
- if (e[1] == '.')
- goto finish;
+ /* One "." is a decimal point, but ".." is a range separator */
+ if (e[0] == '.' && e[1] != '.') {
+ unsigned add;
e++;
r = parse_fractional_part_u(&e, 6, &add);
@@ -528,7 +526,6 @@ static int parse_component_decimal(const char **p, bool usec, int *res) {
}
}
-finish:
if (value > INT_MAX)
return -ERANGE;
@@ -1017,8 +1014,7 @@ fail:
return r;
}
-static int find_end_of_month(struct tm *tm, bool utc, int day)
-{
+static int find_end_of_month(struct tm *tm, bool utc, int day) {
struct tm t = *tm;
t.tm_mon++;