Upgrade to MIME::Base64 3.02.
[p5sagit/p5-mst-13.2.git] / ext / MIME / Base64 / Base64.xs
index b580539..8fd14cf 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: Base64.xs,v 3.2 2004/03/29 11:35:13 gisle Exp $
+/* $Id: Base64.xs,v 3.4 2004/08/24 16:29:35 gisle Exp $
 
 Copyright 1997-2004 Gisle Aas
 
@@ -263,11 +263,12 @@ MODULE = MIME::Base64             PACKAGE = MIME::QuotedPrint
 SV*
 encode_qp(sv,...)
        SV* sv
-       PROTOTYPE: $;$
+       PROTOTYPE: $;$$
 
        PREINIT:
        char *eol;
        STRLEN eol_len;
+       int binary;
        STRLEN sv_len;
        STRLEN linelen;
        char *beg;
@@ -288,6 +289,8 @@ encode_qp(sv,...)
            eol_len = 1;
        }
 
+       binary = (items > 2 && SvTRUE(ST(2)));
+
        beg = SvPV(sv, sv_len);
        end = beg + sv_len;
 
@@ -339,7 +342,7 @@ encode_qp(sv,...)
            if (p == end) {
                break;
             }
-           else if (*p == '\n' && eol_len) {
+           else if (*p == '\n' && eol_len && !binary) {
                sv_catpvn(RETVAL, eol, eol_len);
                p++;
                linelen = 0;
@@ -364,6 +367,11 @@ encode_qp(sv,...)
            }
         }
 
+       if (SvCUR(RETVAL) && eol_len && linelen) {
+           sv_catpvn(RETVAL, "=", 1);
+           sv_catpvn(RETVAL, eol, eol_len);
+       }
+
        OUTPUT:
        RETVAL