$OpenBSD: patch-src_vfs_fish_helpers_ls,v 1.1 2016/04/25 13:35:06 kirby Exp $

Upstream commit 263012123cb1e4bf8201da00a9c248497b326076

Fix for tickert 3611.

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.

--- src/vfs/fish/helpers/ls.orig	Sat Mar 12 18:45:48 2016
+++ src/vfs/fish/helpers/ls	Thu Mar 31 14:45:40 2016
@@ -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 {
