chiark / gitweb /
basic/time-util: make parsing of dual_timestamp more strict
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 19 May 2017 18:49:06 +0000 (14:49 -0400)
committerSven Eden <yamakuzure@gmx.net>
Tue, 25 Jul 2017 07:46:52 +0000 (09:46 +0200)
commit486affdf2880485578bb54c7f6d4789cae396acb
treea80238d33dbcf8bf7890e4f77e39f28263ac58db
parent3ce9747fbed0ffcdff4e907feea01f5269e5d103
basic/time-util: make parsing of dual_timestamp more strict

*scanf functions set errno on i/o error. For sscanf, this doesn't really apply,
so (based on the man page), it seems that errno is unlikely to be ever set to a
useful value. So just ignore errno. The error message includes the string that
was parsed, so it should be always pretty clear why parsing failed.

On the other hand, detect trailing characters and minus prefix that weren't
converted properly. This matches what our safe_ato* functions do. Add tests to
elucidate various edge cases.
src/basic/time-util.c