diff options
| author | Mikael Magnusson <mikachu@gmail.com> | 2026-06-08 20:57:06 +0200 |
|---|---|---|
| committer | Mikael Magnusson <mikachu@gmail.com> | 2026-06-14 01:57:17 +0200 |
| commit | f9d159b88ab8ea843a3231cadd0c0b57da74cc8b (patch) | |
| tree | 5d528b8340aa2be7b5ecd845bdc55cc3067fa5e0 | |
| parent | 54713: fix multibyte error reporting in zparseopts (diff) | |
| download | zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.tar zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.tar.gz zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.tar.bz2 zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.tar.lz zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.tar.xz zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.tar.zst zsh-f9d159b88ab8ea843a3231cadd0c0b57da74cc8b.zip | |
54714: add MB_NICECHAR and use it
| -rw-r--r-- | ChangeLog | 3 | ||||
| -rw-r--r-- | Src/Modules/zutil.c | 8 | ||||
| -rw-r--r-- | Src/glob.c | 8 | ||||
| -rw-r--r-- | Src/utils.c | 8 | ||||
| -rw-r--r-- | Src/zsh.h | 4 |
5 files changed, 13 insertions, 18 deletions
@@ -1,5 +1,8 @@ 2026-06-14 Mikael Magnusson <mikachu@gmail.com> + * 54714: Src/Modules/zutil.c, Src/glob.c, Src/utils.c, Src/zsh.h: + add MB_NICECHAR and use it + * 54713: Src/Modules/zutil.c: fix multibyte error reporting in zparseopts diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c index 0bc340dc9..6f53f5c53 100644 --- a/Src/Modules/zutil.c +++ b/Src/Modules/zutil.c @@ -1991,12 +1991,8 @@ bin_zparseopts(char *nam, char **args, Options ops, UNUSED(int func)) if (*o != '-' || o > *pp + 1) { convchar_t wc = unmeta_one(o, NULL); fprintf(stderr, "%s: bad option: -", progname); -#ifdef MULTIBYTE_SUPPORT - mb_charinit(); - zputs(wcs_nicechar(wc, NULL, NULL), stderr); -#else - zputs(nicechar(wc), stderr); -#endif + MB_CHARINIT(); + zputs(MB_NICECHAR(wc), stderr); fputc('\n', stderr); } else { fprintf(stderr, "%s: bad option: -%s\n", progname, o); diff --git a/Src/glob.c b/Src/glob.c index a6fd3377d..dab3d0ec7 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -2325,12 +2325,8 @@ xpandbraces(LinkList list, LinkNode *np) do { char *ncptr; int nclen; -#ifdef MULTIBYTE_SUPPORT - mb_charinit(); - ncptr = wcs_nicechar(cend, NULL, NULL); -#else - ncptr = nicechar(cend); -#endif + MB_CHARINIT(); + ncptr = MB_NICECHAR(cend); nclen = strlen(ncptr); p = zhalloc(lenalloc + nclen); memcpy(p, str3, strp); diff --git a/Src/utils.c b/Src/utils.c index 0b4bb9a82..65ed98907 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -342,12 +342,8 @@ zerrmsg(FILE *file, const char *fmt, va_list ap) break; case 'c': num = va_arg(ap, int); -#ifdef MULTIBYTE_SUPPORT - mb_charinit(); - zputs(wcs_nicechar(num, NULL, NULL), file); -#else - zputs(nicechar(num), file); -#endif + MB_CHARINIT(); + zputs(MB_NICECHAR(num), file); break; case 'e': /* print the corresponding message for this errno */ @@ -3285,6 +3285,8 @@ typedef wint_t convchar_t; #define MB_CHARLENCONV(str, len, cp) mb_charlenconv((str), (len), (cp)) #define MB_CHARLEN(str, len) mb_charlenconv((str), (len), NULL) +#define MB_NICECHAR(cp) wcs_nicechar((cp), NULL, NULL) + /* * We replace broken implementations with one that uses Unicode * characters directly as wide characters. In principle this is only @@ -3364,6 +3366,8 @@ typedef int convchar_t; #define MB_CHARLENCONV(str, len, cp) charlenconv((str), (len), (cp)) #define MB_CHARLEN(str, len) ((len) ? 1 : 0) +#define MB_NICECHAR(cp) nicechar((cp)) + #define WCWIDTH_WINT(c) (1) /* Leave character or string as is. */ |
