Max Kellermann
672bc3ab67
time/Convert: fix GetTimeZoneOffset() on Windows
...
Was using the wrong parameter.
2020-04-01 16:21:29 +02:00
Thomas Klausner
d5468dfe89
Add missing header.
...
Fixes
../src/time/ISO8601.cxx:67:24: error: use of undeclared identifier 'strtoul'
unsigned long value = strtoul(s, &endptr, 10);
^
../src/time/ISO8601.cxx:77:14: error: use of undeclared identifier 'strtoul'
minutes = strtoul(s, &endptr, 10);
^
on NetBSD with clang 9.0.0.
2020-02-29 10:04:54 +01:00
Max Kellermann
d27e534a85
time/ISO8601: fix Windows build failure
...
Caused by 2bc127bb43
2019-12-24 16:12:52 +01:00
Max Kellermann
744bd1eadc
time/ISO8601: refactor ParseTimeOfDay() to parse one by one
...
This prepares the migration away from strptime() for Windows
portability.
But the real reason I'm doing this is that strptime() on Apple is
buggy: strptime("14", "%H%M%S") (without separating colons) succeeds
even though only the hour has been parsed. This fixes recent Travis
failures in the ParseISO8601() unit test.
2019-12-24 10:15:03 +01:00
Max Kellermann
2bc127bb43
time/ISO8601: move code to ParseTimeOfDay()
2019-12-24 10:15:01 +01:00
Max Kellermann
15ce8eb487
time/ISO8601: support omitting field separators
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/685
2019-12-16 23:31:29 +01:00
Max Kellermann
63c5d66016
time/ISO8601: support omitting minutes
2019-12-16 23:24:43 +01:00
Max Kellermann
d09bd9178f
time/ISO8601: support omitting seconds
2019-12-16 23:24:43 +01:00
Max Kellermann
7d8b1860c3
time/ISO8601: support time zone offset
2019-12-16 23:24:43 +01:00
Max Kellermann
b06825829b
time/ISO8601: allow omitting the "Z" suffix
...
And allow "Z" suffix after date.
2019-12-16 23:24:43 +01:00
Max Kellermann
ba4cd47fd8
time/ISO8601: allow omitting the time of day
2019-12-16 23:24:43 +01:00
Max Kellermann
5df2707d98
time/ISO8601: ParseISO8601() returns precision
2019-12-16 23:24:43 +01:00
Max Kellermann
4859ea468f
time/ISO8601: implement with strptime(), without ParseTimePoint()
...
Prepare for adding more flexible parsing.
2019-12-16 23:24:43 +01:00
Max Kellermann
2a8830db70
time/Convert: fallback TimeGm() implementation
...
Move code from Parser.cxx.
2019-12-16 23:24:38 +01:00
Max Kellermann
fed9b6fd74
time/Parser: use TimeGm()
2019-12-16 23:03:31 +01:00
Max Kellermann
b02890eb8a
time/Parser: explicitly initialize struct tm before strptime()
...
This is recommended by the strptime() manpage, because strptime() does
not initialize/set attributes which were not specified in the format
string.
2019-12-16 23:03:25 +01:00
Max Kellermann
da882a6eb6
time/Convert: include sys/time.h for struct timeval
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/562
2019-12-16 23:03:21 +01:00
Max Kellermann
aeb89aa9d6
time/ISO8601: forward-declare StringBuffer
2019-12-16 23:02:59 +01:00
Max Kellermann
f885807ecc
time/Convert: update copyright
2019-12-16 23:02:58 +01:00
Max Kellermann
b826fd71f0
time/Convert: mention exceptions
2019-12-16 23:02:57 +01:00
Max Kellermann
ae35df1126
zeroconf/AvahiPoll: move TimevalToChrono() to time/Convert.cxx
2019-12-16 23:02:45 +01:00
Max Kellermann
80e55f6bfc
time/Convert: add noexcept
2019-12-16 23:02:40 +01:00
Max Kellermann
e7411c0c4b
time/Convert: add pure
attributes
2019-12-16 23:02:38 +01:00
Max Kellermann
e9af692973
util/Time*: move to time/
2019-12-16 23:02:14 +01:00