mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
calendarspec: make specifications with seconds wildcard reversible
"*:*:*" is now formatted as "*:*:*" instead of "*:*:00/1"
This commit is contained in:
parent
9dfa81a00a
commit
3215e35c40
@ -286,6 +286,7 @@ static void format_chain(FILE *f, int space, const CalendarComponent *c, bool us
|
||||
}
|
||||
|
||||
int calendar_spec_to_string(const CalendarSpec *c, char **p) {
|
||||
CalendarComponent *cc;
|
||||
char *buf = NULL;
|
||||
size_t sz = 0;
|
||||
FILE *f;
|
||||
@ -313,7 +314,12 @@ int calendar_spec_to_string(const CalendarSpec *c, char **p) {
|
||||
fputc(':', f);
|
||||
format_chain(f, 2, c->minute, false);
|
||||
fputc(':', f);
|
||||
format_chain(f, 2, c->microsecond, true);
|
||||
|
||||
cc = c->microsecond;
|
||||
if (cc && !cc->value && cc->repeat == USEC_PER_SEC && !cc->next)
|
||||
fputc('*', f);
|
||||
else
|
||||
format_chain(f, 2, c->microsecond, true);
|
||||
|
||||
if (c->utc)
|
||||
fputs(" UTC", f);
|
||||
|
@ -183,6 +183,7 @@ int main(int argc, char* argv[]) {
|
||||
test_one("Monday", "Mon *-*-* 00:00:00");
|
||||
test_one("Monday *-*-*", "Mon *-*-* 00:00:00");
|
||||
test_one("*-*-*", "*-*-* 00:00:00");
|
||||
test_one("*:*:*", "*-*-* *:*:*");
|
||||
|
||||
test_next("2016-03-27 03:17:00", "", 12345, 1459048620000000);
|
||||
test_next("2016-03-27 03:17:00", "CET", 12345, 1459041420000000);
|
||||
|
Loading…
Reference in New Issue
Block a user