pollita         Mon Oct  9 20:42:36 2006 UTC

  Modified files:              
    /php-src/ext/gmp    gmp.c 
    /php-src/ext/gmp/tests      006.phpt 007.phpt 008.phpt 009.phpt 
                                gmp_nextprime.phpt 
  Log:
  PHP6 Updates
  
http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/gmp.c?r1=1.55&r2=1.56&diff_format=u
Index: php-src/ext/gmp/gmp.c
diff -u php-src/ext/gmp/gmp.c:1.55 php-src/ext/gmp/gmp.c:1.56
--- php-src/ext/gmp/gmp.c:1.55  Mon Jun 26 14:10:57 2006
+++ php-src/ext/gmp/gmp.c       Mon Oct  9 20:42:35 2006
@@ -465,6 +465,9 @@
                        mpz_init_set_si(**gmpnumber, Z_LVAL_PP(val));
                }
                break;
+       case IS_UNICODE:
+               convert_to_string_ex(val);
+               /* Fallthrough */
        case IS_STRING:
                {
                        char *numstr = Z_STRVAL_PP(val);
@@ -478,6 +481,11 @@
                                                base = 2;
                                                skip_lead = 1;
                                        }
+                                       /* Note: tests/004.phpt and 
tests/005.phpt suggest that we should be
+                                        * interpreting a leading zero as octal 
(when not followed by x or b)
+                                        * Yet the docs, and the existing code 
(above), suggest otherwise.
+                                        *
+                                        * Possibly fix this by putting an:    
else base = 8;    here */
                                }
                        }
                        ret = mpz_init_set_str(**gmpnumber, (skip_lead ? 
&numstr[2] : numstr), base);
@@ -748,7 +756,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_init(mixed number [, int base])
+/* {{{ proto resource gmp_init(mixed number [, int base]) U
    Initializes GMP number */
 ZEND_FUNCTION(gmp_init)
 {
@@ -780,7 +788,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_intval(resource gmpnumber)
+/* {{{ proto int gmp_intval(resource gmpnumber) U
    Gets signed long value of GMP number */
 ZEND_FUNCTION(gmp_intval)
 {
@@ -801,7 +809,7 @@
 }
 /* }}} */
 
-/* {{{ proto string gmp_strval(resource gmpnumber [, int base])
+/* {{{ proto string gmp_strval(resource gmpnumber [, int base]) U
    Gets string representation of GMP number  */
 ZEND_FUNCTION(gmp_strval)
 {
@@ -852,11 +860,11 @@
        } else {
                out_string[num_len] = '\0';
        }
-       RETVAL_STRINGL(out_string, num_len, 0);
+       RETVAL_RT_STRINGL(out_string, num_len, ZSTR_AUTOFREE);
 }
 /* }}} */
 
-/* {{{ proto resource gmp_add(resource a, resource b)
+/* {{{ proto resource gmp_add(resource a, resource b) U
    Add a and b */
 ZEND_FUNCTION(gmp_add)
 {
@@ -864,7 +872,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_sub(resource a, resource b)
+/* {{{ proto resource gmp_sub(resource a, resource b) U
    Subtract b from a */
 ZEND_FUNCTION(gmp_sub)
 {
@@ -872,7 +880,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_mul(resource a, resource b)
+/* {{{ proto resource gmp_mul(resource a, resource b) U
    Multiply a and b */
 ZEND_FUNCTION(gmp_mul)
 {
@@ -880,7 +888,7 @@
 }
 /* }}} */
 
-/* {{{ proto array gmp_div_qr(resource a, resource b [, int round])
+/* {{{ proto array gmp_div_qr(resource a, resource b [, int round]) U
    Divide a by b, returns quotient and reminder */
 ZEND_FUNCTION(gmp_div_qr)
 {
@@ -917,7 +925,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_div_r(resource a, resource b [, int round])
+/* {{{ proto resource gmp_div_r(resource a, resource b [, int round]) U
    Divide a by b, returns reminder only */
 ZEND_FUNCTION(gmp_div_r)
 {
@@ -953,7 +961,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_div_q(resource a, resource b [, int round])
+/* {{{ proto resource gmp_div_q(resource a, resource b [, int round]) U
    Divide a by b, returns quotient only */
 ZEND_FUNCTION(gmp_div_q)
 {
@@ -990,7 +998,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_mod(resource a, resource b)
+/* {{{ proto resource gmp_mod(resource a, resource b) U
    Computes a modulo b */
 ZEND_FUNCTION(gmp_mod)
 {
@@ -1004,7 +1012,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_divexact(resource a, resource b)
+/* {{{ proto resource gmp_divexact(resource a, resource b) U
    Divide a by b using exact division algorithm */
 ZEND_FUNCTION(gmp_divexact)
 {
@@ -1012,7 +1020,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_neg(resource a)
+/* {{{ proto resource gmp_neg(resource a) U
    Negates a number */
 ZEND_FUNCTION(gmp_neg)
 {
@@ -1020,7 +1028,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_abs(resource a)
+/* {{{ proto resource gmp_abs(resource a) U
    Calculates absolute value */
 ZEND_FUNCTION(gmp_abs)
 {
@@ -1028,7 +1036,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_fact(int a)
+/* {{{ proto resource gmp_fact(int a) U
    Calculates factorial function */
 ZEND_FUNCTION(gmp_fact)
 {
@@ -1057,7 +1065,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_pow(resource base, int exp)
+/* {{{ proto resource gmp_pow(resource base, int exp) U
    Raise base to power exp */
 ZEND_FUNCTION(gmp_pow)
 {
@@ -1093,7 +1101,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_powm(resource base, resource exp, resource mod)
+/* {{{ proto resource gmp_powm(resource base, resource exp, resource mod) U
    Raise base to power exp and take result modulo mod */
 ZEND_FUNCTION(gmp_powm)
 {
@@ -1134,7 +1142,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_sqrt(resource a)
+/* {{{ proto resource gmp_sqrt(resource a) U
    Takes integer part of square root of a */
 ZEND_FUNCTION(gmp_sqrt)
 {
@@ -1159,7 +1167,7 @@
 }
 /* }}} */
 
-/* {{{ proto array gmp_sqrtrem(resource a)
+/* {{{ proto array gmp_sqrtrem(resource a) U
    Square root with remainder */
 ZEND_FUNCTION(gmp_sqrtrem)
 {
@@ -1191,7 +1199,7 @@
 }
 /* }}} */
 
-/* {{{ proto bool gmp_perfect_square(resource a)
+/* {{{ proto bool gmp_perfect_square(resource a) U
    Checks if a is an exact square */
 ZEND_FUNCTION(gmp_perfect_square)
 {
@@ -1208,7 +1216,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_prob_prime(resource a[, int reps])
+/* {{{ proto int gmp_prob_prime(resource a[, int reps]) U
    Checks if a is "probably prime" */
 ZEND_FUNCTION(gmp_prob_prime)
 {
@@ -1237,7 +1245,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_gcd(resource a, resource b)
+/* {{{ proto resource gmp_gcd(resource a, resource b) U
    Computes greatest common denominator (gcd) of a and b */
 ZEND_FUNCTION(gmp_gcd)
 {
@@ -1251,7 +1259,7 @@
 }
 /* }}} */
 
-/* {{{ proto array gmp_gcdext(resource a, resource b)
+/* {{{ proto array gmp_gcdext(resource a, resource b) U
    Computes G, S, and T, such that AS + BT = G = `gcd' (A, B) */
 ZEND_FUNCTION(gmp_gcdext)
 {
@@ -1283,7 +1291,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_invert(resource a, resource b)
+/* {{{ proto resource gmp_invert(resource a, resource b) U
    Computes the inverse of a modulo b */
 ZEND_FUNCTION(gmp_invert)
 {
@@ -1307,7 +1315,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_jacobi(resource a, resource b)
+/* {{{ proto int gmp_jacobi(resource a, resource b) U
    Computes Jacobi symbol */
 ZEND_FUNCTION(gmp_jacobi)
 {
@@ -1315,7 +1323,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_legendre(resource a, resource b)
+/* {{{ proto int gmp_legendre(resource a, resource b) U
    Computes Legendre symbol */
 ZEND_FUNCTION(gmp_legendre)
 {
@@ -1323,7 +1331,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_cmp(resource a, resource b)
+/* {{{ proto int gmp_cmp(resource a, resource b) U
    Compares two numbers */
 ZEND_FUNCTION(gmp_cmp)
 {
@@ -1353,7 +1361,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_sign(resource a)
+/* {{{ proto int gmp_sign(resource a) U
    Gets the sign of the number */
 ZEND_FUNCTION(gmp_sign)
 {
@@ -1370,7 +1378,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_random([int limiter])
+/* {{{ proto resource gmp_random([int limiter]) U
    Gets random number */
 ZEND_FUNCTION(gmp_random)
 {
@@ -1406,7 +1414,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_and(resource a, resource b)
+/* {{{ proto resource gmp_and(resource a, resource b) U
    Calculates logical AND of a and b */
 ZEND_FUNCTION(gmp_and)
 {
@@ -1414,7 +1422,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_or(resource a, resource b)
+/* {{{ proto resource gmp_or(resource a, resource b) U
    Calculates logical OR of a and b */
 ZEND_FUNCTION(gmp_or)
 {
@@ -1422,7 +1430,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_com(resource a)
+/* {{{ proto resource gmp_com(resource a) U
    Calculates one's complement of a */
 ZEND_FUNCTION(gmp_com)
 {
@@ -1430,7 +1438,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_nextprime(resource a)
+/* {{{ proto resource gmp_nextprime(resource a) U
    Finds next prime of a */
 ZEND_FUNCTION(gmp_nextprime)
 {
@@ -1438,7 +1446,7 @@
 }
 /* }}} */
 
-/* {{{ proto resource gmp_xor(resource a, resource b)
+/* {{{ proto resource gmp_xor(resource a, resource b) U
    Calculates logical exclusive OR of a and b */
 ZEND_FUNCTION(gmp_xor)
 {
@@ -1468,7 +1476,7 @@
 }
 /* }}} */
 
-/* {{{ proto void gmp_setbit(resource &a, int index[, bool set_clear])
+/* {{{ proto void gmp_setbit(resource &a, int index[, bool set_clear]) U
    Sets or clear bit in a */
 ZEND_FUNCTION(gmp_setbit)
 {
@@ -1504,7 +1512,7 @@
 }
 /* }}} */
 
-/* {{{ proto void gmp_clrbit(resource &a, int index)
+/* {{{ proto void gmp_clrbit(resource &a, int index) U
    Clears bit in a */
 ZEND_FUNCTION(gmp_clrbit)
 {
@@ -1525,7 +1533,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_popcount(resource a)
+/* {{{ proto int gmp_popcount(resource a) U
    Calculates the population count of a */
 ZEND_FUNCTION(gmp_popcount)
 {
@@ -1542,7 +1550,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_hamdist(resource a, resource b)
+/* {{{ proto int gmp_hamdist(resource a, resource b) U
    Calculates hamming distance between a and b */
 ZEND_FUNCTION(gmp_hamdist)
 {
@@ -1560,7 +1568,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_scan0(resource a, int start)
+/* {{{ proto int gmp_scan0(resource a, int start) U
    Finds first zero bit */
 ZEND_FUNCTION(gmp_scan0)
 {
@@ -1578,7 +1586,7 @@
 }
 /* }}} */
 
-/* {{{ proto int gmp_scan1(resource a, int start)
+/* {{{ proto int gmp_scan1(resource a, int start) U
    Finds first non-zero bit */
 ZEND_FUNCTION(gmp_scan1)
 {
http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/tests/006.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/gmp/tests/006.phpt
diff -u php-src/ext/gmp/tests/006.phpt:1.1 php-src/ext/gmp/tests/006.phpt:1.2
--- php-src/ext/gmp/tests/006.phpt:1.1  Sun Sep 10 22:11:10 2006
+++ php-src/ext/gmp/tests/006.phpt      Mon Oct  9 20:42:35 2006
@@ -36,15 +36,15 @@
 Warning: gmp_sub(): Unable to convert variable to GMP - wrong type in %s on 
line %d
 bool(false)
 resource(%d) of type (GMP integer)
-string(2) "-1"
+%s(2) "-1"
 resource(%d) of type (GMP integer)
-string(5) "10001"
+%s(5) "10001"
 
 Warning: gmp_sub(): Unable to convert variable to GMP - wrong type in %s on 
line %d
 bool(false)
-string(1) "0"
+%s(1) "0"
 
 Warning: gmp_sub(): Unable to convert variable to GMP - wrong type in %s on 
line %d
 bool(false)
-string(1) "0"
+%s(1) "0"
 Done
http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/tests/007.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/gmp/tests/007.phpt
diff -u php-src/ext/gmp/tests/007.phpt:1.1 php-src/ext/gmp/tests/007.phpt:1.2
--- php-src/ext/gmp/tests/007.phpt:1.1  Sun Sep 10 22:11:10 2006
+++ php-src/ext/gmp/tests/007.phpt      Mon Oct  9 20:42:35 2006
@@ -56,8 +56,8 @@
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(1) "0"
-string(1) "0"
+%s(1) "0"
+%s(1) "0"
 
 Warning: gmp_div_qr(): Zero operand not allowed in %s on line %d
 bool(false)
@@ -67,8 +67,8 @@
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(1) "0"
-string(5) "12653"
+%s(1) "0"
+%s(5) "12653"
 NULL
 
 Warning: gmp_strval(): Unable to convert variable to GMP - wrong type in %s on 
line %d
@@ -82,48 +82,48 @@
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(4) "9131"
-string(2) "10"
+%s(4) "9131"
+%s(2) "10"
 array(2) {
   [0]=>
   resource(%d) of type (GMP integer)
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(4) "9132"
-string(4) "-113"
+%s(4) "9132"
+%s(4) "-113"
 array(2) {
   [0]=>
   resource(%d) of type (GMP integer)
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(4) "9131"
-string(2) "10"
+%s(4) "9131"
+%s(2) "10"
 array(2) {
   [0]=>
   resource(%d) of type (GMP integer)
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(4) "9131"
-string(2) "10"
+%s(4) "9131"
+%s(2) "10"
 array(2) {
   [0]=>
   resource(%d) of type (GMP integer)
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(4) "9132"
-string(4) "-113"
+%s(4) "9132"
+%s(4) "-113"
 array(2) {
   [0]=>
   resource(%d) of type (GMP integer)
   [1]=>
   resource(%d) of type (GMP integer)
 }
-string(4) "9131"
-string(2) "10"
+%s(4) "9131"
+%s(2) "10"
 
 Warning: gmp_div_qr(): supplied resource is not a valid GMP integer resource 
in %s on line %d
 bool(false)
http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/tests/008.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/gmp/tests/008.phpt
diff -u php-src/ext/gmp/tests/008.phpt:1.1 php-src/ext/gmp/tests/008.phpt:1.2
--- php-src/ext/gmp/tests/008.phpt:1.1  Sun Sep 10 22:11:10 2006
+++ php-src/ext/gmp/tests/008.phpt      Mon Oct  9 20:42:35 2006
@@ -42,28 +42,28 @@
 Warning: Wrong parameter count for gmp_div_r() in %s on line %d
 NULL
 int(0)
-string(1) "0"
+%s(1) "0"
 
 Warning: gmp_div_r(): Zero operand not allowed in %s on line %d
 bool(false)
 int(12653)
-string(5) "12653"
+%s(5) "12653"
 NULL
 
 Warning: gmp_strval(): Unable to convert variable to GMP - wrong type in %s on 
line %d
 bool(false)
 int(10)
-string(2) "10"
+%s(2) "10"
 int(113)
-string(3) "113"
+%s(3) "113"
 int(10)
-string(2) "10"
+%s(2) "10"
 int(10)
-string(2) "10"
+%s(2) "10"
 int(113)
-string(3) "113"
+%s(3) "113"
 int(10)
-string(2) "10"
+%s(2) "10"
 
 Warning: gmp_div_r(): supplied resource is not a valid GMP integer resource in 
%s on line %d
 bool(false)
http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/tests/009.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/gmp/tests/009.phpt
diff -u php-src/ext/gmp/tests/009.phpt:1.1 php-src/ext/gmp/tests/009.phpt:1.2
--- php-src/ext/gmp/tests/009.phpt:1.1  Sun Sep 10 22:11:10 2006
+++ php-src/ext/gmp/tests/009.phpt      Mon Oct  9 20:42:35 2006
@@ -42,28 +42,28 @@
 Warning: Wrong parameter count for gmp_div_q() in %s on line %d
 NULL
 resource(%d) of type (GMP integer)
-string(1) "0"
+%s(1) "0"
 
 Warning: gmp_div_q(): Zero operand not allowed in %s on line %d
 bool(false)
 resource(%d) of type (GMP integer)
-string(1) "0"
+%s(1) "0"
 NULL
 
 Warning: gmp_strval(): Unable to convert variable to GMP - wrong type in %s on 
line %d
 bool(false)
 resource(%d) of type (GMP integer)
-string(4) "9131"
+%s(4) "9131"
 resource(%d) of type (GMP integer)
-string(4) "9132"
+%s(4) "9132"
 resource(%d) of type (GMP integer)
-string(4) "9131"
+%s(4) "9131"
 resource(%d) of type (GMP integer)
-string(4) "9131"
+%s(4) "9131"
 resource(%d) of type (GMP integer)
-string(4) "9132"
+%s(4) "9132"
 resource(%d) of type (GMP integer)
-string(4) "9131"
+%s(4) "9131"
 
 Warning: gmp_div_q(): supplied resource is not a valid GMP integer resource in 
%s on line %d
 bool(false)
http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/tests/gmp_nextprime.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/gmp/tests/gmp_nextprime.phpt
diff -u php-src/ext/gmp/tests/gmp_nextprime.phpt:1.1 
php-src/ext/gmp/tests/gmp_nextprime.phpt:1.2
--- php-src/ext/gmp/tests/gmp_nextprime.phpt:1.1        Mon Apr  3 18:11:56 2006
+++ php-src/ext/gmp/tests/gmp_nextprime.phpt    Mon Oct  9 20:42:35 2006
@@ -25,16 +25,16 @@
 echo "Done\n";
 ?>
 --EXPECTF--    
-string(1) "2"
-string(1) "2"
-string(4) "-997"
-string(4) "1009"
-string(6) "100003"
+%s(1) "2"
+%s(1) "2"
+%s(4) "-997"
+%s(4) "1009"
+%s(6) "100003"
 
 Warning: gmp_nextprime(): Unable to convert variable to GMP - wrong type in %s 
on line %d
-string(1) "0"
-string(1) "0"
+%s(1) "0"
+%s(1) "0"
 
 Warning: gmp_nextprime(): Unable to convert variable to GMP - wrong type in %s 
on line %d
-string(1) "0"
+%s(1) "0"
 Done

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

Reply via email to