* net/tramp.el (tramp-handle-insert-file-contents): Use "dd"
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 17 May 2011 12:47:55 +0000 (14:47 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 17 May 2011 12:47:55 +0000 (14:47 +0200)
instead of "head" and "tail".  There were problems with SunOS 5.9,
and it performs better.

lisp/ChangeLog
lisp/net/tramp.el

index 844fcaa..7942766 100644 (file)
@@ -1,3 +1,9 @@
+2011-05-17  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-handle-insert-file-contents): Use "dd"
+       instead of "head" and "tail".  There were problems with SunOS 5.9,
+       and it performs better.
+
 2011-05-17  Glenn Morris  <rgm@gnu.org>
 
        * mail/mail-utils.el (mail-dont-reply-to): Silence compiler.
index 693e082..bc831c3 100644 (file)
@@ -2838,16 +2838,16 @@ User is always nil."
                 v
                 (cond
                  ((and beg end)
-                  (format "tail -c +%d %s | head -c +%d >%s"
-                          (1+ beg) (tramp-shell-quote-argument localname)
+                  (format "dd bs=1 skip=%d if=%s count=%d of=%s"
+                          beg (tramp-shell-quote-argument localname)
                           (- end beg) remote-copy))
                  (beg
-                  (format "tail -c +%d %s >%s"
-                          (1+ beg) (tramp-shell-quote-argument localname)
+                  (format "dd bs=1 skip=%d if=%s of=%s"
+                          beg (tramp-shell-quote-argument localname)
                           remote-copy))
                  (end
-                  (format "head -c +%d %s >%s"
-                          (1+ end) (tramp-shell-quote-argument localname)
+                  (format "dd bs=1 count=%d if=%s of=%s"
+                          end (tramp-shell-quote-argument localname)
                           remote-copy)))))
 
              ;; `insert-file-contents-literally' takes care to avoid