bug-indent
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

indent-2.2.13 does not set a locale


From: Petr Pisar
Subject: indent-2.2.13 does not set a locale
Date: Wed, 12 Apr 2023 12:21:13 +0200

I noticed that indent-2.2.13 stopped printing localized messages:

    $ strace -e file ./src/indent --version
    execve("./src/indent", ["./src/indent", "--version"], 0x7ffcc7072328 /* 20 
vars */) = 0
    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
    openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
    newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=27589, ...}, 
AT_EMPTY_PATH) = 0
    openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
    newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2633640, ...}, 
AT_EMPTY_PATH) = 0
    openat(AT_FDCWD, ".indent.pro", O_RDONLY) = -1 ENOENT (No such file or 
directory)
    openat(AT_FDCWD, "/home/test/.indent.pro", O_RDONLY) = -1 ENOENT (No such 
file or directory)
    newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}, 
AT_EMPTY_PATH) = 0
    GNU indent 2.2.13
    +++ exited with 64 +++

That's because setlocale() is not called in src/indent.c:

    #if defined (HAVE_SETLOCALE)
        setlocale(LC_ALL, "");
    #endif

because HAVE_SETLOCALE is not defined in config.h.

It seems that configure.ac ported to autoconf-2.71
(AC_CHECK_INCLUDES_DEFAULT?) stopped checking for setlocale() and defining the
macro. Actually diffing config.h between 2.2.12 and 2.2.13, both generated
with the same autoconf, shows plenty of removed macros. So HAVE_SETLOCALE
might be not the only missing feature.

-- Petr

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]