Module Name: src
Committed By: rin
Date: Mon Sep 2 01:04:35 UTC 2024
Modified Files:
src/external/historical/nawk/dist: main.c
Log Message:
nawk: Fix previous for UTF-8 locales
We need `setlocale(LC_CTYPE, "")` before `nl_langinfo(CODESET)`.
Otherwise, `nl_langinfo(CODESET)` returns "646" (== ASCII)
regardless of environment variables.
This fixes regression for usr.bin/awk/t_awk:multibyte.
To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/external/historical/nawk/dist/main.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/historical/nawk/dist/main.c
diff -u src/external/historical/nawk/dist/main.c:1.13 src/external/historical/nawk/dist/main.c:1.14
--- src/external/historical/nawk/dist/main.c:1.13 Sun Sep 1 14:45:39 2024
+++ src/external/historical/nawk/dist/main.c Mon Sep 2 01:04:35 2024
@@ -142,9 +142,11 @@ int main(int argc, char *argv[])
const char *fs = NULL;
char *fn, *vn;
+ setlocale(LC_CTYPE, "");
setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */
/* Force C locale for non-UTF-8 */
- setlocale(LC_CTYPE, strcmp(nl_langinfo(CODESET), "UTF-8") ? "C" : "");
+ if (strcmp(nl_langinfo(CODESET), "UTF-8") != 0)
+ setlocale(LC_CTYPE, "C");
awk_mb_cur_max = MB_CUR_MAX;
cmdname = argv[0];
if (argc == 1) {