87 |
/* "Su Mo Tu We Th Fr Sa" */ |
/* "Su Mo Tu We Th Fr Sa" */ |
88 |
/* -j heading: */ |
/* -j heading: */ |
89 |
/* " Su Mo Tu We Th Fr Sa" */ |
/* " Su Mo Tu We Th Fr Sa" */ |
90 |
char day_headings[ENABLE_FEATURE_ASSUME_UNICODE ? 28 * 6 : 28]; |
char day_headings[ENABLE_UNICODE_SUPPORT ? 28 * 6 : 28]; |
91 |
IF_FEATURE_ASSUME_UNICODE(char *hp = day_headings;) |
IF_UNICODE_SUPPORT(char *hp = day_headings;) |
92 |
char buf[40]; |
char buf[40]; |
93 |
|
|
94 |
init_unicode(); |
init_unicode(); |
113 |
if (argv[2]) { |
if (argv[2]) { |
114 |
bb_show_usage(); |
bb_show_usage(); |
115 |
} |
} |
116 |
month = xatou_range(*argv++, 1, 12); |
if (!(flags & 2)) { /* no -y */ |
117 |
|
month = xatou_range(*argv, 1, 12); |
118 |
|
} |
119 |
|
argv++; |
120 |
} |
} |
121 |
year = xatou_range(*argv, 1, 9999); |
year = xatou_range(*argv, 1, 9999); |
122 |
} |
} |
134 |
zero_tm.tm_wday = i; |
zero_tm.tm_wday = i; |
135 |
/* abbreviated weekday name according to locale */ |
/* abbreviated weekday name according to locale */ |
136 |
strftime(buf, sizeof(buf), "%a", &zero_tm); |
strftime(buf, sizeof(buf), "%a", &zero_tm); |
137 |
#if ENABLE_FEATURE_ASSUME_UNICODE |
#if ENABLE_UNICODE_SUPPORT |
138 |
if (julian) |
if (julian) |
139 |
*hp++ = ' '; |
*hp++ = ' '; |
140 |
{ |
{ |
141 |
char *two_wchars = unicode_cut_nchars(2, buf); |
char *two_wchars = unicode_conv_to_printable_fixedwidth(NULL, buf, 2); |
142 |
strcpy(hp, two_wchars); |
strcpy(hp, two_wchars); |
143 |
free(two_wchars); |
free(two_wchars); |
144 |
} |
} |
149 |
#endif |
#endif |
150 |
} |
} |
151 |
} while (++i < 12); |
} while (++i < 12); |
152 |
IF_FEATURE_ASSUME_UNICODE(hp[-1] = '\0';) |
IF_UNICODE_SUPPORT(hp[-1] = '\0';) |
153 |
|
|
154 |
if (month) { |
if (month) { |
155 |
unsigned row, len, days[MAXDAYS]; |
unsigned row, len, days[MAXDAYS]; |