Handle "locale -a" returning both C.UTF-8 and C.utf8.

It is possible to have mutiple matches from the output of "locale
-a".  Just take the first one.  Fixes GitHub issue #241.
This commit is contained in:
Todd C. Miller
2023-02-15 13:49:04 -07:00
parent 4f50692acc
commit 2845ceafb0
7 changed files with 19 additions and 19 deletions

View File

@@ -152,7 +152,7 @@ check-fuzzer:
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \

View File

@@ -200,7 +200,7 @@ fuzz_iolog_json_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_iolog_json: fuzz_iolog_json
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -225,7 +225,7 @@ fuzz_iolog_legacy_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_iolog_legacy: fuzz_iolog_legacy
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -250,7 +250,7 @@ fuzz_iolog_timing_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_iolog_timing: fuzz_iolog_timing
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -302,7 +302,7 @@ fuzz: run-fuzz_iolog_json run-fuzz_iolog_legacy run-fuzz_iolog_timing
check-fuzzer: $(FUZZ_PROGS)
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -319,7 +319,7 @@ check-fuzzer: $(FUZZ_PROGS)
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \

View File

@@ -360,7 +360,7 @@ fuzz_sudo_conf_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_sudo_conf: fuzz_sudo_conf
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -424,7 +424,7 @@ fuzz: run-fuzz_sudo_conf
check-fuzzer: $(FUZZ_PROGS)
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -438,7 +438,7 @@ check-fuzzer: $(FUZZ_PROGS)
# Note: some regress checks are run from srcdir for consistent error messages
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \

View File

@@ -195,7 +195,7 @@ fuzz_logsrvd_conf_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_logsrvd_conf: fuzz_logsrvd_conf
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -256,7 +256,7 @@ fuzz: run-fuzz_logsrvd_conf
check-fuzzer: $(FUZZ_PROGS)
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -269,7 +269,7 @@ check-fuzzer: $(FUZZ_PROGS)
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \

View File

@@ -229,7 +229,7 @@ check-fuzzer:
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \

View File

@@ -423,7 +423,7 @@ fuzz_policy_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_policy: fuzz_policy
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -448,7 +448,7 @@ fuzz_sudoers_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_sudoers: fuzz_sudoers
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -473,7 +473,7 @@ fuzz_sudoers_ldif_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_sudoers_ldif: fuzz_sudoers_ldif
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -621,7 +621,7 @@ fuzz: run-fuzz_policy run-fuzz_sudoers run-fuzz_sudoers_ldif
check-fuzzer: $(FUZZ_PROGS)
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \
@@ -638,7 +638,7 @@ check-fuzzer: $(FUZZ_PROGS)
check: $(TEST_PROGS) visudo testsudoers cvtsudoers check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \

View File

@@ -332,7 +332,7 @@ check-fuzzer:
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
l=`locale -a 2>&1 | $(EGREP) -i '^C.UTF-?8$$'` || true; \
l=`locale -a 2>&1 | $(EGREP) -i '^C\.UTF-?8$$' | $(SED) 1q` || true; \
test -n "$$l" || l="C"; \
LC_ALL="$$l"; export LC_ALL; \
unset LANG || LANG=; \