-/* $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
SV*
encode_qp(sv,...)
SV* sv
- PROTOTYPE: $;$
+ PROTOTYPE: $;$$
PREINIT:
char *eol;
STRLEN eol_len;
+ int binary;
STRLEN sv_len;
STRLEN linelen;
char *beg;
eol_len = 1;
}
+ binary = (items > 2 && SvTRUE(ST(2)));
+
beg = SvPV(sv, sv_len);
end = beg + sv_len;
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;
}
}
+ if (SvCUR(RETVAL) && eol_len && linelen) {
+ sv_catpvn(RETVAL, "=", 1);
+ sv_catpvn(RETVAL, eol, eol_len);
+ }
+
OUTPUT:
RETVAL