# This file is used via the maint.mk-using rule in Makefile.
+# This is a gnulib-specific rule to keep non-ascii characters
+# from creeping into our .texi files. There is nothing inherently
+# wrong with e.g., UTF-8 characters in texinfo sources, but here,
+# we had accumulated some non-ascii apostrophes and hyphens, and
+# they were recently replaced with their ascii analogs. This rule
+# should help keep things consistent.
+sc_keep_gnulib_texi_files_mostly_ascii:
+ @prohibit='[^][ a-zA-Z0-9'\''`~!\@#$$%^&*(){}=+";:,./<>?|\_-]' \
+ in_vc_files='\.texi$$' \
+ halt='invalid bytes in gnulib .texi file' \
+ $(_sc_search_regexp)
+
local-checks-to-skip = \
sc_GFDL_version \
sc_GPL_version \
- sc_avoid_if_before_free \
sc_bindtextdomain \
sc_cast_of_alloca_return_value \
sc_cast_of_argument_to_free \
^(tests/test-init\.sh|lib/base(32|64)\.c)$$
exclude_file_name_regexp--sc_prohibit_openat_without_use = ^lib/selinux-at\.c$$
exclude_file_name_regexp--sc_trailing_blank = \
- ^(build-aux/texinfo\.tex|doc/Copyright/assign\.future\.manual)$$
+ ^(.*\.class|build-aux/texinfo\.tex|doc/Copyright/assign\.future\.manual)$$
+
+# Disable strncpy prohibition completely, for now.
+exclude_file_name_regexp--sc_prohibit_strncpy = .*
+
+if_before_free_offenders_ = \
+ clean-temp.c \
+ csharpcomp.c \
+ free.c \
+ fstrcmp.c \
+ gl_carray_list.c \
+ glob.c \
+ glthread/lock.c \
+ propername.c \
+ relocatable.c \
+ vasnprintf.c
+
+if_before_free_basename_re_ = \
+ $(shell printf '%s\n' '$(if_before_free_offenders_)' \
+ |sed 's|\.c\>||g'|tr -s '[\n[:space:]]' '|')
+
+exclude_file_name_regexp--sc_avoid_if_before_free = \
+ ^lib/($(if_before_free_basename_re_))\.c$$
+
+exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests = \
+ ^lib/((error|getopt|strtoimax)\.c|(argp-namefrob)\.h)$$