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) {