- /* Must be position */
- if (!have_wpos) {
- clear_bits(0, 4, lrun.wpos);
- have_wpos = TRUE;
- }
- if (code < code2) {
- set_bits(code, code2, lrun.wpos);
- } else {
- set_bits(code, 4, lrun.wpos);
- set_bits(0, code2, lrun.wpos);
- }
- }
- break;
- case s_hourly:
- clear_defaults();
- set_bits(0, 23, lrun.hour);
- set_bits(0, 30, lrun.mday);
- set_bits(0, 11, lrun.month);
- set_bits(0, 4, lrun.wpos);
- break;
- case s_weekly:
- clear_defaults();
- set_bit(0, lrun.wday);
- set_bits(0, 11, lrun.month);
- set_bits(0, 4, lrun.wpos);
- break;
- case s_daily:
- clear_defaults();
- set_bits(0, 30, lrun.mday);
- set_bits(0, 11, lrun.month);
- set_bits(0, 4, lrun.wpos);
- break;
- case s_monthly:
- clear_defaults();
- set_bits(0, 11, lrun.month);
- set_bits(0, 4, lrun.wpos);
- break;
- default:
- scan_err0(lc, _("Unexpected run state\n"));
- /* NOT REACHED */
- break;
+ /* this is a bit odd, but we accept it anyway */
+ set_bits(code, 30, lrun.month);
+ set_bits(0, code2, lrun.month);
+ }
+ } else {
+ /* Must be position */
+ if (!have_wom) {
+ clear_bits(0, 4, lrun.wom);
+ have_wom = true;
+ }
+ if (code < code2) {
+ set_bits(code, code2, lrun.wom);
+ } else {
+ set_bits(code, 4, lrun.wom);
+ set_bits(0, code2, lrun.wom);
+ }
+ }
+ break;
+ case s_hourly:
+ clear_defaults();
+ set_bits(0, 23, lrun.hour);
+ set_bits(0, 30, lrun.mday);
+ set_bits(0, 11, lrun.month);
+ set_bits(0, 4, lrun.wom);
+ set_bits(0, 53, lrun.woy);
+ break;
+ case s_weekly:
+ clear_defaults();
+ set_bit(0, lrun.wday);
+ set_bits(0, 11, lrun.month);
+ set_bits(0, 4, lrun.wom);
+ set_bits(0, 53, lrun.woy);
+ break;
+ case s_daily:
+ clear_defaults();
+ set_bits(0, 30, lrun.mday);
+ set_bits(0, 11, lrun.month);
+ set_bits(0, 4, lrun.wom);
+ set_bits(0, 53, lrun.woy);
+ break;
+ case s_monthly:
+ clear_defaults();
+ set_bits(0, 11, lrun.month);
+ set_bits(0, 4, lrun.wom);
+ set_bits(0, 53, lrun.woy);
+ break;
+ default:
+ scan_err0(lc, _("Unexpected run state\n"));
+ /* NOT REACHED */
+ break;