moriyoshi               Tue Dec  2 02:36:43 2003 EDT

  Modified files:              
    /php-src/ext/standard       quot_print.c quot_print.h 
    /php-src/ext/iconv  iconv.c 
  Log:
  all '_' (underscores) should be replaced by '\x20' (whitespaces)
  in encoding.
  # should I bump API version?
  
  
Index: php-src/ext/standard/quot_print.c
diff -u php-src/ext/standard/quot_print.c:1.26 php-src/ext/standard/quot_print.c:1.27
--- php-src/ext/standard/quot_print.c:1.26      Tue Jun 10 16:03:38 2003
+++ php-src/ext/standard/quot_print.c   Tue Dec  2 02:36:42 2003
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: quot_print.c,v 1.26 2003/06/10 20:03:38 imajes Exp $ */
+/* $Id: quot_print.c,v 1.27 2003/12/02 07:36:42 moriyoshi Exp $ */
 
 #include <stdlib.h>
 
@@ -50,7 +50,7 @@
        }
 }
 
-PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, 
size_t *ret_length)
+PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, 
size_t *ret_length, int replace_us_by_ws)
 {
        register unsigned int i;
        register unsigned const char *p1;
@@ -79,6 +79,10 @@
                64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64
        };
 
+       if (replace_us_by_ws) {
+               replace_us_by_ws = '_';
+       }
+
        i = length, p1 = str; buf_size = length;
 
        while (i > 1 && *p1 != '\0') {
@@ -127,7 +131,7 @@
                                return NULL;
                        }
                } else {
-                       *(p2++) = *p1;
+                       *(p2++) = (replace_us_by_ws == *p1 ? '\x20': *p1);
                        i--, p1++, decoded_len++;
                }
        }
Index: php-src/ext/standard/quot_print.h
diff -u php-src/ext/standard/quot_print.h:1.10 php-src/ext/standard/quot_print.h:1.11
--- php-src/ext/standard/quot_print.h:1.10      Tue Jun 10 16:03:38 2003
+++ php-src/ext/standard/quot_print.h   Tue Dec  2 02:36:42 2003
@@ -16,12 +16,12 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: quot_print.h,v 1.10 2003/06/10 20:03:38 imajes Exp $ */
+/* $Id: quot_print.h,v 1.11 2003/12/02 07:36:42 moriyoshi Exp $ */
 
 #ifndef QUOT_PRINT_H
 #define QUOT_PRINT_H
 
-PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, 
size_t *ret_length);
+PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, 
size_t *ret_length, int replace_us_by_ws);
 
 PHP_FUNCTION(quoted_printable_decode);
 
Index: php-src/ext/iconv/iconv.c
diff -u php-src/ext/iconv/iconv.c:1.102 php-src/ext/iconv/iconv.c:1.103
--- php-src/ext/iconv/iconv.c:1.102     Mon Dec  1 18:49:20 2003
+++ php-src/ext/iconv/iconv.c   Tue Dec  2 02:36:42 2003
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: iconv.c,v 1.102 2003/12/01 23:49:20 moriyoshi Exp $ */
+/* $Id: iconv.c,v 1.103 2003/12/02 07:36:42 moriyoshi Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1478,7 +1478,7 @@
                                                                break;
 
                                                        case 
PHP_ICONV_ENC_SCHEME_QPRINT:
-                                                               decoded_text = (char 
*)php_quot_print_decode((unsigned char*)encoded_text, (int)encoded_text_len, 
&decoded_text_len);
+                                                               decoded_text = (char 
*)php_quot_print_decode((unsigned char*)encoded_text, (int)encoded_text_len, 
&decoded_text_len, 1);
                                                                break;
                                                }
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to