1
1

Argh.. we need even more escaping since this runs in c which executes

a shell script which executes then a perl script.... this uses then " as output in printf:
 --> therefore we need up to 5 backslashes
Этот коммит содержится в:
Patrick Winnertz 2009-01-24 23:29:20 +01:00
родитель 61dee5baa3
Коммит 05a2491681

Просмотреть файл

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