Aaron Ucko <[EMAIL PROTECTED]> writes:
> TRAMP's internal uuencode implementation, which seems to be its
> default encoding method (at least on this system, which doesn't have
> mimencode, mmencode, or recode installed), has an annoying bug: if
> the content's length is just short of a multiple of 45 bytes, the
> last line of data starts with M rather than K or L, so the padding
> turns into one or two actual NULs.
Fixed in Tramp CVS. You can try the following patch:
--- tramp-uu.el.~2.4.~ 2003-12-01 21:54:58.000000000 +0100
+++ tramp-uu.el 2004-05-16 22:56:49.000000000 +0200
@@ -63,10 +63,10 @@
(setq c (char-after (point)))
(delete-char 1)
(if (equal c ?=)
- ;; "=" means padding. Insert "`" instead.
- (insert "`")
- (insert (tramp-uu-byte-to-uu-char (tramp-uu-b64-char-to-byte c))))
- (setq i (1+ i))
+ ;; "=" means padding. Insert "`" instead. Not counted for length.
+ (progn (insert "`") (setq len (1- len)))
+ (insert (tramp-uu-byte-to-uu-char (tramp-uu-b64-char-to-byte c)))
+ (setq i (1+ i)))
;; Every 60 characters, add "M" at beginning of line (as
;; length byte) and insert a newline.
(when (zerop (% i 60))
Thanx for reporting the bug. Best regards, Michael.
_______________________________________________
Tramp-devel mailing list
[EMAIL PROTECTED]
http://mail.nongnu.org/mailman/listinfo/tramp-devel