Ticket #3611: mc-3611-fish-fix-perl-ls-helper.patch

File mc-3611-fish-fix-perl-ls-helper.patch, 1.3 KB (added by and, 2 years ago)
  • src/vfs/fish/helpers/ls

    From e274e58cb7dff1683480f5538fd1bfa41a85c0c7 Mon Sep 17 00:00:00 2001
    From: Andreas Mohr <and@gmx.li>
    Date: Sun, 13 Mar 2016 20:59:47 +0000
    Subject: [PATCH] Fish: fix perl ls helper
    
    With #3599 I introduce a perl warning in fish_list_perl()
    so fish_list_perl() was skipped (return code 255) and fallback ls
    function was used instead.
    
    Plus all % chars must quoted because of g_strconcat() after reading
    script file into string.
    
    Fix it!
    
    Signed-off-by: Andreas Mohr <and@gmx.li>
    ---
     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 1284e17..909a77d 100755
    a b while((my $filename = readdir (DIR))){ 
    138138        my $linkname = readlink ("$dirname/$filename"); 
    139139        $linkname =~ $strutils_shell_escape_regex; 
    140140        printf("R%%o %%o $uid.$gid\nS$size\nd$mloctime\n:\"%%s\" -> \"%%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename, $linkname); 
    141     } elseif (S_ISCHR ($mode) || S_ISBLK ($mode)) { 
    142         my $minor = $rdev % 256; 
     141    } elsif (S_ISCHR ($mode) || S_ISBLK ($mode)) { 
     142        my $minor = $rdev %% 256; 
    143143        my $major = int( $rdev / 256 ); 
    144144        printf("R%%o %%o $uid.$gid\nE$major,$minor\nd$mloctime\n:\"%%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); 
    145145    } else {