From 263012123cb1e4bf8201da00a9c248497b326076 Mon Sep 17 00:00:00 2001 From: Andreas Mohr Date: Sun, 13 Mar 2016 20:59:47 +0000 Subject: [PATCH] Ticket #3611: fix FISH ls helper (Perl) In #3599 a Perl warning was introduced in fish_list_perl(), so fish_list_perl() was skipped (return code 255) and fallback ls function was used instead. Additionally, all % chars must quoted because of g_strconcat() after reading script file into a string. Signed-off-by: Andreas Mohr Signed-off-by: Yury V. Zaytsev --- src/vfs/fish/helpers/ls | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vfs/fish/helpers/ls b/src/vfs/fish/helpers/ls index 1284e174d..909a77d72 100755 --- a/src/vfs/fish/helpers/ls +++ b/src/vfs/fish/helpers/ls @@ -138,8 +138,8 @@ while((my $filename = readdir (DIR))){ my $linkname = readlink ("$dirname/$filename"); $linkname =~ $strutils_shell_escape_regex; printf("R%%o %%o $uid.$gid\nS$size\nd$mloctime\n:\"%%s\" -> \"%%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename, $linkname); - } elseif (S_ISCHR ($mode) || S_ISBLK ($mode)) { - my $minor = $rdev % 256; + } elsif (S_ISCHR ($mode) || S_ISBLK ($mode)) { + my $minor = $rdev %% 256; my $major = int( $rdev / 256 ); printf("R%%o %%o $uid.$gid\nE$major,$minor\nd$mloctime\n:\"%%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); } else {