moriyoshi               Mon Jan  6 10:47:26 2003 EDT

  Modified files:              
    /php4/ext/iconv     iconv.c 
    /php4/ext/standard  quot_print.c quot_print.h 
  Log:
  Moved php_quot_print_decode() to quot_print.c so that it can be used
  outside the iconv module
  
  
Index: php4/ext/iconv/iconv.c
diff -u php4/ext/iconv/iconv.c:1.79 php4/ext/iconv/iconv.c:1.80
--- php4/ext/iconv/iconv.c:1.79 Mon Jan  6 10:40:22 2003
+++ php4/ext/iconv/iconv.c      Mon Jan  6 10:47:24 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: iconv.c,v 1.79 2003/01/06 15:40:22 moriyoshi Exp $ */
+/* $Id: iconv.c,v 1.80 2003/01/06 15:47:24 moriyoshi Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -52,6 +52,7 @@
 
 #include "ext/standard/php_smart_str.h"
 #include "ext/standard/base64.h"
+#include "ext/standard/quot_print.h"
 
 #ifdef HAVE_LIBICONV
 #define LIBICONV_PLUG
@@ -229,75 +230,6 @@
        zval_dtor(&iconv_ver);
 }
 /* }}} */
-
-unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, size_t 
*ret_length)
-{
-       register unsigned int i;
-       register unsigned const char *p1;
-       register unsigned char *p2;
-       register unsigned int h_nbl, l_nbl;
-
-       size_t decoded_len;
-       unsigned char *retval;
-
-       static unsigned int hexval_tbl[256] = {
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-                0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 16, 16, 16, 16, 16, 16,
-               16, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16
-       };
-
-       i = length, p1 = str; decoded_len = length;
-
-       while (i > 0 && *p1 != '\0') {
-               if (*p1 == '=') {
-                       decoded_len -= 2;
-                       p1 += 2;
-                       i -= 2;
-               }
-               p1++;
-               i--;
-       }
-
-       retval = emalloc(decoded_len + 1);
-       i = length; p1 = str; p2 = retval;
-
-       while (i > 0 && *p1 != '\0') {
-               if (*p1 == '=') {
-                       if (i < 2 ||
-                               (h_nbl = hexval_tbl[p1[1]]) > 15 ||
-                               (l_nbl = hexval_tbl[p1[2]]) > 15) { 
-
-                               efree(retval);
-                               return NULL;
-                       }
-
-                       *(p2++) = (h_nbl << 4) | l_nbl;
-                       i -= 3;
-                       p1 += 3;
-               } else {
-                       *(p2++) = *p1;
-                       i--;
-                       p1++;
-               }
-       }
-
-       *p2 = '\0';
-       *ret_length = decoded_len;
-       return retval;
-}
 
 /* {{{ _php_iconv_appendl() */
 static php_iconv_err_t _php_iconv_appendl(smart_str *d, const char *s, size_t l, 
iconv_t cd)
Index: php4/ext/standard/quot_print.c
diff -u php4/ext/standard/quot_print.c:1.23 php4/ext/standard/quot_print.c:1.24
--- php4/ext/standard/quot_print.c:1.23 Tue Dec 31 11:07:54 2002
+++ php4/ext/standard/quot_print.c      Mon Jan  6 10:47:25 2003
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: quot_print.c,v 1.23 2002/12/31 16:07:54 sebastian Exp $ */
+/* $Id: quot_print.c,v 1.24 2003/01/06 15:47:25 moriyoshi Exp $ */
 
 #include <stdlib.h>
 
@@ -49,6 +49,76 @@
                return -1;
        }
 }
+
+PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, 
+size_t *ret_length)
+{
+       register unsigned int i;
+       register unsigned const char *p1;
+       register unsigned char *p2;
+       register unsigned int h_nbl, l_nbl;
+
+       size_t decoded_len;
+       unsigned char *retval;
+
+       static unsigned int hexval_tbl[256] = {
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+                0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 16, 16, 16, 16, 16, 16,
+               16, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+               16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16
+       };
+
+       i = length, p1 = str; decoded_len = length;
+
+       while (i > 0 && *p1 != '\0') {
+               if (*p1 == '=') {
+                       decoded_len -= 2;
+                       p1 += 2;
+                       i -= 2;
+               }
+               p1++;
+               i--;
+       }
+
+       retval = emalloc(decoded_len + 1);
+       i = length; p1 = str; p2 = retval;
+
+       while (i > 0 && *p1 != '\0') {
+               if (*p1 == '=') {
+                       if (i < 2 ||
+                               (h_nbl = hexval_tbl[p1[1]]) > 15 ||
+                               (l_nbl = hexval_tbl[p1[2]]) > 15) { 
+
+                               efree(retval);
+                               return NULL;
+                       }
+
+                       *(p2++) = (h_nbl << 4) | l_nbl;
+                       i -= 3;
+                       p1 += 3;
+               } else {
+                       *(p2++) = *p1;
+                       i--;
+                       p1++;
+               }
+       }
+
+       *p2 = '\0';
+       *ret_length = decoded_len;
+       return retval;
+}
+
 
 /*
 *
Index: php4/ext/standard/quot_print.h
diff -u php4/ext/standard/quot_print.h:1.8 php4/ext/standard/quot_print.h:1.9
--- php4/ext/standard/quot_print.h:1.8  Tue Dec 31 11:07:54 2002
+++ php4/ext/standard/quot_print.h      Mon Jan  6 10:47:25 2003
@@ -16,10 +16,12 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: quot_print.h,v 1.8 2002/12/31 16:07:54 sebastian Exp $ */
+/* $Id: quot_print.h,v 1.9 2003/01/06 15:47:25 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);
 
 PHP_FUNCTION(quoted_printable_decode);
 



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

Reply via email to