swprintf() and apparently wcsftime() want the their output buffer size
specified in terms of the the number of wide characters and not sizeof(buffer). Reported by: Coverity CID: 1007605, 1007606 MFC after: 1 week
This commit is contained in:
parent
50a0e585ab
commit
2c197aaf2a
@ -642,8 +642,8 @@ monthrangeb(int y, int m, int jd_flag, int before, int after)
|
||||
wprintf(L"%-*ls ",
|
||||
mw, wcenter(ws, year[i].name, mw));
|
||||
else {
|
||||
swprintf(ws, sizeof(ws), L"%-ls %d",
|
||||
year[i].name, M2Y(m + i));
|
||||
swprintf(ws, sizeof(ws)/sizeof(ws[0]),
|
||||
L"%-ls %d", year[i].name, M2Y(m + i));
|
||||
wprintf(L"%-*ls ", mw, wcenter(ws1, ws, mw));
|
||||
}
|
||||
printf("\n");
|
||||
@ -958,7 +958,7 @@ mkweekdays(struct weekdays *wds)
|
||||
|
||||
for (i = 0; i != 7; i++) {
|
||||
tm.tm_wday = (i+1) % 7;
|
||||
wcsftime(buf, sizeof(buf), L"%a", &tm);
|
||||
wcsftime(buf, sizeof(buf)/sizeof(buf[0]), L"%a", &tm);
|
||||
for (len = 2; len > 0; --len) {
|
||||
if ((width = wcswidth(buf, len)) <= 2)
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user