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