From 36edf7bad2ab76720a0bf6519074d23d4b8823a7 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 28 Sep 2009 20:24:41 +0200 Subject: ls: print "?", not "0" as inode of dereferenced dangling symlink ls prints inode numbers two ways: for long (-l) listings, and for short ones, e.g., ls -li and ls -i. The code to print long listings properly printed "?" when the inode was unknown, but the code for handling short listings would print 0 instead. Factor out the formatting code into a new function so ls prints the right string ("?") from both places: * NEWS (Bug fixes): Mention it. * src/ls.c (format_inode): New function. (print_long_format): Use it here. (print_file_name_and_frills): Use it here, too. * tests/ls/dangle: Exercise this fix. Reported by Yang Ren in http://bugzilla.redhat.com/525400 --- NEWS | 3 +++ 1 file changed, 3 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index d0a9a7d62..68ac24b10 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,9 @@ GNU coreutils NEWS -*- outline -*- ls -LR exits with status 2, not 0, when it encounters a cycle + ls -Li is now consistent with ls -Lil in printing "?", not "0" as the + inode of a dangling symlink. + ** Portability On Solaris 9, many commands would mistakenly treat file/ the same as -- cgit v1.2.3-54-g00ecf