Package: findutils
Version: 4.9.0-4
Severity: important
X-Debbugs-Cc: blis...@gmx.net

Dear Maintainer,

I found, that find with -ls shows escaped non-Ascii characters. 

-- Steps to Reproduce:
1. Create a file with a non-ASCII name:
   touch test-a-umlaut-ä
2. Run:
   find . -ls
3. Output shows:
   278000      0 -rw-r--r--   1 w3l      w3l             0 Mai 14 08:47 
./test-a-umlaut-\303\244
4. Attempt to use the output with `ls`:
   ls -l ./test-a-umlaut-\303\244
5. Result:
   ls: Zugriff auf './test-a-umlaut-303244' nicht möglich: Datei oder 
Verzeichnis nicht gefunden
6. Compare with `LC_ALL=C ls -l`:
   -rw-r--r-- 1 w3l w3l 0 May 14 08:47 'test-a-umlaut-'$'\303\244'
7. Contrast with `ls -l`:
   -rw-r--r-- 1 w3l w3l 0 14. Mai 08:47 test-a-umlaut-ä
   or `find -print`:
   ./test-a-umlaut-ä

-- Expected Behavior:
`find -ls` should respect the UTF-8 locale (de_CH.UTF-8) and output filenames 
as-is (e.g., ./test-a-umlaut-ä), matching `ls -l` and `find -print`, so the 
output is consitent within the running system.

-- Actual Behavior:
The `find -ls` command escapes non-ASCII characters (e.g., ä as \303\244) in 
filenames, even in a UTF-8 locale (de_CH.UTF-8). This produces output that is 
unusable as input to other commands.
The behavior seems to almost mimic `LC_ALL=C ls -l`, which also escapes 
non-ASCII characters, suggesting that `find -ls` ignores the UTF-8 locale for 
filename output.
Still, the `LC_ALL=C ls -l` escapes differently (see abouve), and that can be 
used as input again into say `ls`.

Also compiled locally findutils 4.10.0 to see... Shows same behaviour.
Thanks.

-- System Information:
Debian Release: 12.10
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-34-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_CH:de
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages findutils depends on:
ii  libc6        2.36-9+deb12u10
ii  libselinux1  3.4-1+b6

findutils recommends no packages.

findutils suggests no packages.

-- no debconf information

locale:
LANG=de_CH.UTF-8
LANGUAGE=de_CH:de
LC_CTYPE="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_MESSAGES="de_CH.UTF-8"
LC_PAPER="de_CH.UTF-8"
LC_NAME="de_CH.UTF-8"
LC_ADDRESS="de_CH.UTF-8"
LC_TELEPHONE="de_CH.UTF-8"
LC_MEASUREMENT="de_CH.UTF-8"
LC_IDENTIFICATION="de_CH.UTF-8"
LC_ALL=

Reply via email to