X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fcalendarspec.c;h=69b742723295c5df91c03464fd70593d6bd97612;hp=7979e2384f53014e105d173519c60acb9a3ac6a9;hb=6b01f1d3911bd7c7eadbb8a3b4375bd3ac05c98f;hpb=44a6b1b68029833893f6e9cee35aa27a974038f6 diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c index 7979e2384..69b742723 100644 --- a/src/shared/calendarspec.c +++ b/src/shared/calendarspec.c @@ -686,6 +686,23 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) { if (r < 0) goto fail; + } else if (strcaseeq(p, "anually") || strcaseeq(p, "yearly")) { + r = const_chain(1, &c->month); + if (r < 0) + goto fail; + r = const_chain(1, &c->day); + if (r < 0) + goto fail; + r = const_chain(0, &c->hour); + if (r < 0) + goto fail; + r = const_chain(0, &c->minute); + if (r < 0) + goto fail; + r = const_chain(0, &c->second); + if (r < 0) + goto fail; + } else if (strcaseeq(p, "weekly")) { c->weekdays_bits = 1; @@ -921,7 +938,6 @@ int calendar_spec_next_usec(const CalendarSpec *spec, usec_t usec, usec_t *next) if (t == (time_t) -1) return -EINVAL; - *next = (usec_t) t * USEC_PER_SEC; return 0; }