From: Michael Albinus Date: Sun, 25 Aug 2019 11:44:11 +0000 (+0200) Subject: Fix a further part of Bug#36940 X-Git-Tag: emacs-27.0.90~1328^2~72 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ae7ab3b6ee5237b202d6104aadc2b3f3742f2bf7;p=emacs.git Fix a further part of Bug#36940 * lisp/net/tramp-sh.el (tramp-perl-file-attributes) (tramp-perl-directory-files-and-attributes) (tramp-do-file-attributes-with-stat) (tramp-do-directory-files-and-attributes-with-stat): Return size and inode as floating number. (Bug#36940). --- diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index f1f0abc6e5c..1f7c8f6e491 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -669,7 +669,7 @@ else $uid = ($ARGV[1] eq \"integer\") ? $stat[4] : \"\\\"\" . getpwuid($stat[4]) . \"\\\"\"; $gid = ($ARGV[1] eq \"integer\") ? $stat[5] : \"\\\"\" . getgrgid($stat[5]) . \"\\\"\"; printf( - \"(%%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u %%u t %%u -1)\\n\", + \"(%%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u.0 %%u t %%u.0 -1)\\n\", $type, $stat[3], $uid, @@ -719,7 +719,7 @@ for($i = 0; $i < $n; $i++) $gid = ($ARGV[1] eq \"integer\") ? $stat[5] : \"\\\"\" . getgrgid($stat[5]) . \"\\\"\"; $filename =~ s/\"/\\\\\"/g; printf( - \"(\\\"%%s\\\" %%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u.0 %%u t (%%u . %%u) (%%u . %%u))\\n\", + \"(\\\"%%s\\\" %%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u.0 %%u t %%u.0 -1)\\n\", $filename, $type, $stat[3], @@ -733,10 +733,7 @@ for($i = 0; $i < $n; $i++) $stat[10] & 0xffff, $stat[7], $stat[2], - $stat[1] >> 16 & 0xffff, - $stat[1] & 0xffff, - $stat[0] >> 16 & 0xffff, - $stat[0] & 0xffff); + $stat[1]); } printf(\")\\n\");' \"$1\" \"$2\" 2>/dev/null" "Perl script implementing `directory-files-attributes' as Lisp `read'able @@ -1356,7 +1353,7 @@ component is used as the target of the symlink." ;; `tramp-stat-marker', in order to make a proper shell escape ;; of them in file names. "( (%s %s || %s -h %s) && (%s -c " - "'((%s%%N%s) %%h %s %s %%X %%Y %%Z %%s %s%%A%s t %%i -1)' " + "'((%s%%N%s) %%h %s %s %%X %%Y %%Z %%s.0 %s%%A%s t %%i.0 -1)' " "%s | sed -e 's/\"/\\\\\"/g' -e 's/%s/\"/g') || echo nil)")) (tramp-get-file-exists-command vec) (tramp-shell-quote-argument localname) @@ -1767,7 +1764,7 @@ of." ;; of them in file names. "cd %s && echo \"(\"; (%s %s -a | " "xargs %s -c " - "'(%s%%n%s (%s%%N%s) %%h %s %s %%X %%Y %%Z %%s %s%%A%s t %%i -1)' " + "'(%s%%n%s (%s%%N%s) %%h %s %s %%X %%Y %%Z %%s.0 %s%%A%s t %%i.0 -1)' " "-- 2>/dev/null | sed -e 's/\"/\\\\\"/g' -e 's/%s/\"/g'); echo \")\"")) (tramp-shell-quote-argument localname) (tramp-get-ls-command vec)