From: Jani Nikula <jani@nikula.org>
To: notmuch@notmuchmail.org
Subject: [PATCH 4/4] parse-time-string: fix setting and rounding of seconds
Date: Mon, 2 Mar 2015 19:47:04 +0200 [thread overview]
Message-ID: <1425318424-27017-4-git-send-email-jani@nikula.org> (raw)
In-Reply-To: <1425318424-27017-1-git-send-email-jani@nikula.org>
If seconds are not specified in the string to be parsed, they're not
set according to the reference time (in the no rounding case) nor
rounded properly (in the rounding up cases). Fix this.
The bug caused searches such as date:10:30..10:30 to match messages
with date exactly 10:30:00 only, and not in range 10:30:00..10:30:59
(inclusive) as documented.
Note that date searches referring "noon" or "5pm" will still be
interpreted as exact to the second.
---
parse-time-string/parse-time-string.c | 4 ++--
test/T490-parse-time-string.sh | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/parse-time-string/parse-time-string.c b/parse-time-string/parse-time-string.c
index ccad422b3c8d..1cef47d4b0bd 100644
--- a/parse-time-string/parse-time-string.c
+++ b/parse-time-string/parse-time-string.c
@@ -1081,10 +1081,10 @@ parse_time (struct state *state, char sep,
return set_user_tz (state, state->delim, v1, v2);
}
- if (!is_valid_time (v1, v2, v3))
+ if (!is_valid_time (v1, v2, n3 ? v3 : 0))
return -PARSE_TIME_ERR_INVALIDTIME;
- return set_abs_time (state, v1, v2, n3 ? v3 : 0);
+ return set_abs_time (state, v1, v2, n3 ? (int) v3 : UNSET);
}
/* strtoul helper that assigns length. */
diff --git a/test/T490-parse-time-string.sh b/test/T490-parse-time-string.sh
index 9247bdf89543..6aa9d433bfd4 100755
--- a/test/T490-parse-time-string.sh
+++ b/test/T490-parse-time-string.sh
@@ -79,7 +79,6 @@ ${TEST_DIRECTORY}/parse-time --ref=${REFERENCE} < INPUT > OUTPUT
test_expect_equal_file INPUT OUTPUT
test_begin_subtest "Second rounding tests"
-test_subtest_known_broken
REFERENCE=$(_date Tue Jan 11 12:13:14 +0000 2011)
cat <<EOF > INPUT
9:15 ==> Tue Jan 11 09:15:14 +0000 2011
--
2.1.4
next prev parent reply other threads:[~2015-03-02 18:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-02 17:47 [PATCH 1/4] test: improve the time parsing tests Jani Nikula
2015-03-02 17:47 ` [PATCH 2/4] test: add some more time tests Jani Nikula
2015-03-02 17:47 ` [PATCH 3/4] test: extract and flag second rounding tests as broken Jani Nikula
2015-03-02 17:47 ` Jani Nikula [this message]
2015-03-02 20:03 ` [PATCH 4/4] parse-time-string: fix setting and rounding of seconds Tomi Ollila
2015-03-07 9:27 ` [PATCH 1/4] test: improve the time parsing tests David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425318424-27017-4-git-send-email-jani@nikula.org \
--to=jani@nikula.org \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).