kalowsky Mon Sep 9 16:59:17 2002 EDT Modified files: (Branch: PHP_4_2_0) /php4/ext/imap php_imap.c Log: Now this is correct for bug #15630 Index: php4/ext/imap/php_imap.c diff -u php4/ext/imap/php_imap.c:1.112.2.6 php4/ext/imap/php_imap.c:1.112.2.7 --- php4/ext/imap/php_imap.c:1.112.2.6 Mon Sep 9 16:54:01 2002 +++ php4/ext/imap/php_imap.c Mon Sep 9 16:59:17 2002 @@ -25,7 +25,7 @@ | PHP 4.0 updates: Zeev Suraski <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_imap.c,v 1.112.2.6 2002/09/09 20:54:01 kalowsky Exp $ */ +/* $Id: php_imap.c,v 1.112.2.7 2002/09/09 20:59:17 kalowsky Exp $ */ #define IMAP41 @@ -2200,7 +2200,7 @@ /* author: Andrew Skalski <[EMAIL PROTECTED]> */ zval **arg; const unsigned char *in, *inp, *endp; - unsigned char *out, *outp; + unsigned char *out, *outp, c; int inlen, outlen; enum { ST_NORMAL, /* printable text */ @@ -2302,13 +2302,15 @@ break; case ST_DECODE1: outp[1] = UNB64(*inp); - *outp++ |= outp[1] >> 4; + c = outp[1] >> 4; + *outp++ |= c; *outp <<= 4; state = ST_DECODE2; break; case ST_DECODE2: outp[1] = UNB64(*inp); - *outp++ |= outp[1] >> 2; + c = outpp[1] >> 2; + *outp++ |= c; *outp <<= 6; state = ST_DECODE3; break; @@ -2341,7 +2343,7 @@ /* author: Andrew Skalski <[EMAIL PROTECTED]> */ zval **arg; const unsigned char *in, *inp, *endp; - unsigned char *out, *outp; + unsigned char *out, *outp, c; int inlen, outlen; enum { ST_NORMAL, /* printable text */ @@ -2412,7 +2414,8 @@ } else if (inp == endp || !SPECIAL(*inp)) { /* flush overflow and terminate region */ if (state != ST_ENCODE0) { - *outp++ = B64(*outp); + c = B64(*outp); + *outp++ = c; } *outp++ = '-'; state = ST_NORMAL; @@ -2425,12 +2428,14 @@ state = ST_ENCODE1; break; case ST_ENCODE1: - *outp++ = B64(*outp | *inp >> 4); + c = B64(*outp | *inp >> 4); + *outp++ = c; *outp = *inp++ << 2; state = ST_ENCODE2; break; case ST_ENCODE2: - *outp++ = B64(*outp | *inp >> 6); + c = B64(*outp | *inp >> 6); + *outp++ = c; *outp++ = B64(*inp++); state = ST_ENCODE0; case ST_NORMAL:
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php