Deleted Added
full compact
29c29
< "$FreeBSD: head/usr.bin/ncal/ncal.c 186401 2008-12-22 21:22:42Z wollman $";
---
> "$FreeBSD: head/usr.bin/ncal/ncal.c 189804 2009-03-14 18:55:51Z das $";
42a43,44
> #include <wchar.h>
> #include <wctype.h>
56c58
< char name[MAX_WIDTH + 1];
---
> wchar_t name[MAX_WIDTH + 1];
62c64
< char names[7][4];
---
> wchar_t names[7][4];
161a164
> wchar_t *wcenter(wchar_t *s, wchar_t *t, int w);
421c424
< printf(" %s %d\n", month.name, y);
---
> printf(" %ls %d\n", month.name, y);
423c426
< printf("%.2s%s\n", wds.names[i], month.lines[i]);
---
> printf("%.2ls%s\n", wds.names[i], month.lines[i]);
433c436
< char s[MAX_WIDTH], t[MAX_WIDTH];
---
> wchar_t s[MAX_WIDTH], t[MAX_WIDTH];
442,443c445,446
< sprintf(s, "%s %d", month.name, y);
< printf("%s\n", center(t, s, mw));
---
> swprintf(s, MAX_WIDTH, L"%ls %d", month.name, y);
> wprintf(L"%ls\n", wcenter(t, s, mw));
446c449,450
< printf(" %s %s %s %s %s %s %.2s\n", wds.names[6], wds.names[0],
---
> wprintf(L" %ls %ls %ls %ls %ls %ls %.2ls\n",
> wds.names[6], wds.names[0],
450,451c454,455
< printf("%s%s%s%s%s%s%.2s\n", wds.names[6], wds.names[0],
< wds.names[1], wds.names[2], wds.names[3],
---
> wprintf(L"%ls%ls%ls%ls%ls%ls%.2ls\n", wds.names[6],
> wds.names[0], wds.names[1], wds.names[2], wds.names[3],
478c482
< printf(" %-*s%-*s",
---
> printf(" %-*ls%-*ls",
482c486
< printf("%s\n", year[j + 2].name);
---
> printf("%ls\n", year[j + 2].name);
484c488
< printf("%-*s%s\n",
---
> printf("%-*ls%ls\n",
488c492
< printf("%.2s%-*s%-*s",
---
> printf("%.2ls%-*s%-*s",
520a525
> wchar_t ws[80], wt[80];
535c540
< printf("%-*s ", mw, center(s, year[j].name, mw));
---
> printf("%-*ls ", mw, wcenter(ws, year[j].name, mw));
537c542
< printf("%s\n", center(s, year[j + 1].name, mw));
---
> printf("%ls\n", wcenter(ws, year[j + 1].name, mw));
539,541c544,546
< printf("%-*s %s\n", mw,
< center(s, year[j + 1].name, mw),
< center(t, year[j + 2].name, mw));
---
> printf("%-*ls %ls\n", mw,
> wcenter(ws, year[j + 1].name, mw),
> wcenter(wt, year[j + 2].name, mw));
544,545c549,550
< printf(" %s %s %s %s %s %s %s "
< " %s %s %s %s %s %s %.2s\n",
---
> wprintf(L" %ls %ls %ls %ls %ls %ls %ls "
> " %ls %ls %ls %ls %ls %ls %.2ls\n",
553,555c558,560
< printf("%s%s%s%s%s%s%s "
< "%s%s%s%s%s%s%s "
< "%s%s%s%s%s%s%.2s\n",
---
> wprintf(L"%ls%ls%ls%ls%ls%ls%ls "
> "%ls%ls%ls%ls%ls%ls%ls "
> "%ls%ls%ls%ls%ls%ls%.2ls\n",
599,600c604,606
< strftime(mlines->name, sizeof(mlines->name), "%OB", &tm);
< mlines->name[0] = toupper((unsigned char)mlines->name[0]);
---
> wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]),
> L"%OB", &tm);
> mlines->name[0] = towupper(mlines->name[0]);
691,692c697,699
< strftime(mlines->name, sizeof(mlines->name), "%OB", &tm);
< mlines->name[0] = toupper((unsigned char)mlines->name[0]);
---
> wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]),
> L"%OB", &tm);
> mlines->name[0] = towupper(mlines->name[0]);
757c764
< char buf[20];
---
> wchar_t buf[20];
763,764c770,771
< strftime(buf, sizeof(buf), "%a", &tm);
< len = strlen(buf);
---
> wcsftime(buf, sizeof(buf), L"%a", &tm);
> len = wcslen(buf);
767,768c774,775
< strcpy(wds->names[i], " ");
< strncpy(wds->names[i] + 2 - len, buf, len);
---
> wcscpy(wds->names[i], L" ");
> wcsncpy(wds->names[i] + 2 - len, buf, len);
860a868,878
> /* Center string t in string s of length w by putting enough leading blanks */
> wchar_t *
> wcenter(wchar_t *s, wchar_t *t, int w)
> {
> char blanks[80];
>
> memset(blanks, ' ', sizeof(blanks));
> swprintf(s, MAX_WIDTH, L"%.*s%ls", (int)(w - wcslen(t)) / 2, blanks, t);
> return (s);
> }
>