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 <and@gmx.li>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
This commit is contained in:
Andreas Mohr 2016-03-13 20:59:47 +00:00 committed by Yury V. Zaytsev
parent 9d0f6e584e
commit 263012123c
1 changed files with 2 additions and 2 deletions

View File

@ -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 {