diff --git a/vfs/fish.c b/vfs/fish.c index ae779a0ad..382d68ac9 100644 --- a/vfs/fish.c +++ b/vfs/fish.c @@ -376,19 +376,22 @@ fish_dir_load(struct vfs_class *me, struct vfs_s_inode *dir, char *remote_path) "use Fcntl;\n" "use POSIX ':fcntl_h'; #S_ISLNK was here until 5.6\n" "import Fcntl ':mode' unless defined &S_ISLNK; #and is now here\n" - "my $dirname = \"/%s\";\n" - "opendir ( DIR, $dirname ) || printf \"###500\n\";\n" - "while( (my $filename = readdir(DIR))){\n" - "my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = lstat(\"$dirname/$filename\");\n" - "my mloctime= scalar localtime $mtime;\n" - "if (S_ISLNK($mode) ) {\n" - "my $linkname = readlink (\"$dirname/$filename\");\n" - "printf(\"P$mode $uid.$gid\nS$size\nd$mloctime\n:\\\"$filename\\\" -> \\\"$linkname\\\"\n\n\");\n" + "my \\\$dirname = \\\"/%s\\\";\n" + "if (opendir ( DIR, \\\$dirname )) {\n" + "while( (my \\\$filename = readdir(DIR))){\n" + "my (\\\$dev,\\\$ino,\\\$mode,\\\$nlink,\\\$uid,\\\$gid,\\\$rdev,\\\$size,\\\$atime,\\\$mtime,\\\$ctime,\\\$blksize,\\\$blocks) = lstat(\\\"\\\$dirname/\\\$filename\\\");\n" + "my \\\$mloctime= scalar localtime \\\$mtime;\n" + "if (S_ISLNK(\\\$mode) ) {\n" + "my \\\$linkname = readlink (\\\"\\\$dirname/\\\$filename\\\");\n" + "printf(\\\"P\\\$mode \\\$uid.\\\$gid\nS\\\$size\nd\\\$mloctime\n:\\\\\"\\\$filename\\\\\" -> \\\\\"\\\$linkname\\\\\"\n\n\\\");\n" "} else {\n" - "printf(\"P$mode $uid.$gid\nS$size\nd$mloctime\n:\\\"$filename\\\"\n\n\");\n" + "printf(\\\"P\\\$mode \\\$uid.\\\$gid\nS\\\$size\nd\\\$mloctime\n:\\\\\"\\\$filename\\\\\"\n\n\\\");\n" "}}\n" - "printf(\"###200\n\");\n" - "closedir(DIR);\"\n" + "printf(\\\"###200\n\\\");\n" + "closedir(DIR);\n" + "} else {\n" + "printf(\\\"###500\n\\\");\n" + "}\"\n" "elif `ls -1 \"/%s\" >/dev/null 2>&1` ; then\n" "if `ls -Q \"/%s\" >/dev/null 2>&1`; then\n" "LSOPT=\"-Qlan\";\n"