- for (int d = 0; d < 7; d++) {
- const char *str = hstep >= 10 ? day_to_string(d) : day_to_str(d);
- if (d == shift) wattrset(win, A_BOLD);
- mvwprintw(win, 0, x+ROUND(d*hstep), "%s", str);
- mvwprintw(win, 1, x+ROUND(d*hstep), "%02d/%02d", month+1, day+1);
- if (d == shift) wattrset(win, rev);
+ for (int i = 0; i < wdays; i++) {
+ const char *str = hstep >= 10 ? day_to_string(wstart+i)
+ : day_to_str(wstart+i);
+ if (wstart+i == wday) wattrset(win, A_BOLD);
+ mvwprintw(win, 0, x+ROUND(i*hstep), "%s", str);
+ mvwprintw(win, 1, x+ROUND(i*hstep), "%02d/%02d", month+1, day+1);
+ if (wstart+i == wday) wattrset(win, rev);