summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-08-16 17:31:40 +0200
committerAnatol Belski <ab@php.net>2014-08-16 17:31:40 +0200
commit864172d9a49a6201513d83c06b77b5d309dc50ab (patch)
tree6aa4b3249a59aa8f3b21a06cb28a1fc2f0f5dae6
parent54906c760fb578079b6783a2aa4184372a3179d3 (diff)
downloadphp-git-864172d9a49a6201513d83c06b77b5d309dc50ab.tar.gz
further fixes to ext/standard and zend
-rw-r--r--Zend/zend.c6
-rw-r--r--Zend/zend.h4
-rw-r--r--Zend/zend_API.c2
-rw-r--r--Zend/zend_hash.c2
-rw-r--r--Zend/zend_operators.c56
-rw-r--r--Zend/zend_strtod.c52
-rw-r--r--Zend/zend_vm_def.h2
-rw-r--r--Zend/zend_vm_execute.h2
-rw-r--r--ext/standard/basic_functions.c4
-rw-r--r--ext/standard/php_rand.h12
-rw-r--r--ext/standard/rand.c34
-rw-r--r--ext/standard/string.c2
12 files changed, 71 insertions, 107 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 67ffea8b80..d571bdbaaf 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -46,7 +46,7 @@
/* true multithread-shared globals */
ZEND_API zend_class_entry *zend_standard_class_def = NULL;
-ZEND_API int (*zend_printf)(const char *format, ...);
+ZEND_API zend_size_t (*zend_printf)(const char *format, ...);
ZEND_API zend_write_func_t zend_write;
ZEND_API FILE *(*zend_fopen)(const char *filename, char **opened_path TSRMLS_DC);
ZEND_API int (*zend_stream_open_function)(const char *filename, zend_file_handle *handle TSRMLS_DC);
@@ -54,7 +54,7 @@ ZEND_API void (*zend_block_interruptions)(void);
ZEND_API void (*zend_unblock_interruptions)(void);
ZEND_API void (*zend_ticks_function)(int ticks TSRMLS_DC);
ZEND_API void (*zend_error_cb)(int type, const char *error_filename, const uint error_lineno, const char *format, va_list args);
-int (*zend_vspprintf)(char **pbuf, zend_size_t max_len, const char *format, va_list ap);
+zend_size_t (*zend_vspprintf)(char **pbuf, zend_size_t max_len, const char *format, va_list ap);
zend_string *(*zend_vstrpprintf)(size_t max_len, const char *format, va_list ap);
ZEND_API char *(*zend_getenv)(char *name, size_t name_len TSRMLS_DC);
ZEND_API char *(*zend_resolve_path)(const char *filename, int filename_len TSRMLS_DC);
@@ -204,7 +204,7 @@ static void print_flat_hash(HashTable *ht TSRMLS_DC) /* {{{ */
if (string_key) {
ZEND_WRITE(string_key->val, string_key->len);
} else {
- zend_printf("%ld", num_key);
+ zend_printf(ZEND_UINT_FMT, num_key);
}
ZEND_PUTS("] => ");
zend_print_flat_zval_r(tmp TSRMLS_CC);
diff --git a/Zend/zend.h b/Zend/zend.h
index 051afd2a83..3f3d4ce3ac 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -646,7 +646,7 @@ END_EXTERN_C()
#define ZEND_PUTC(c) zend_write(&(c), 1)
BEGIN_EXTERN_C()
-extern ZEND_API int (*zend_printf)(const char *format, ...) ZEND_ATTRIBUTE_PTR_FORMAT(printf, 1, 2);
+extern ZEND_API zend_size_t (*zend_printf)(const char *format, ...) ZEND_ATTRIBUTE_PTR_FORMAT(printf, 1, 2);
extern ZEND_API zend_write_func_t zend_write;
extern ZEND_API FILE *(*zend_fopen)(const char *filename, char **opened_path TSRMLS_DC);
extern ZEND_API void (*zend_block_interruptions)(void);
@@ -655,7 +655,7 @@ extern ZEND_API void (*zend_ticks_function)(int ticks TSRMLS_DC);
extern ZEND_API void (*zend_error_cb)(int type, const char *error_filename, const uint error_lineno, const char *format, va_list args) ZEND_ATTRIBUTE_PTR_FORMAT(printf, 4, 0);
extern ZEND_API void (*zend_on_timeout)(int seconds TSRMLS_DC);
extern ZEND_API int (*zend_stream_open_function)(const char *filename, zend_file_handle *handle TSRMLS_DC);
-extern int (*zend_vspprintf)(char **pbuf, zend_size_t max_len, const char *format, va_list ap);
+extern zend_int_t (*zend_vspprintf)(char **pbuf, zend_size_t max_len, const char *format, va_list ap);
extern zend_string *(*zend_vstrpprintf)(zend_size_t max_len, const char *format, va_list ap);
extern ZEND_API char *(*zend_getenv)(char *name, size_t name_len TSRMLS_DC);
extern ZEND_API char *(*zend_resolve_path)(const char *filename, int filename_len TSRMLS_DC);
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 4bd8760e6a..b04de2514a 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2906,7 +2906,7 @@ static int zend_is_callable_check_class(zend_string *name, zend_fcall_info_cache
int name_len = name->len;
zend_string *lcname;
ALLOCA_FLAG(use_heap);
-
+ __debugbreak();
STR_ALLOCA_ALLOC(lcname, name_len, use_heap);
zend_str_tolower_copy(lcname->val, name->val, name_len + 1);
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index 7d926493be..3fe499c0c4 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -491,7 +491,7 @@ convert_to_hash:
ZVAL_COPY_VALUE(&p->val, pData);
HANDLE_UNBLOCK_INTERRUPTIONS();
if ((zend_int_t)h >= (zend_int_t)ht->nNextFreeElement) {
- ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX;
+ ht->nNextFreeElement = h < ZEND_INT_MAX ? h + 1 : ZEND_INT_MAX;
}
return &p->val;
}
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index ecc5762624..514dc6c87c 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -2319,16 +2319,10 @@ ZEND_API int zend_binary_strcmp(const char *s1, zend_size_t len1, const char *s2
}
retval = memcmp(s1, s2, MIN(len1, len2));
if (!retval) {
- if (len1 > len2) {
- retval = 1;
- } else if (len1 < len2) {
- retval = -1;
- } else {
- retval = 0;
- }
+ return (int)(len1 - len2);
+ } else {
+ return retval;
}
-
- return retval;
}
/* }}} */
@@ -2341,16 +2335,10 @@ ZEND_API int zend_binary_strncmp(const char *s1, zend_size_t len1, const char *s
}
retval = memcmp(s1, s2, MIN(length, MIN(len1, len2)));
if (!retval) {
- if (MIN(length, len1) > MIN(length, len2)) {
- retval = 1;
- } else if (MIN(length, len1) < MIN(length, len2)) {
- retval = -1;
- } else {
- retval = 0;
- }
+ return (int)(MIN(length, len1) - MIN(length, len2));
+ } else {
+ return retval;
}
-
- return retval;
}
/* }}} */
@@ -2372,13 +2360,7 @@ ZEND_API int zend_binary_strcasecmp(const char *s1, zend_size_t len1, const char
}
}
- if (len1 > len2) {
- return 1;
- } else if (len1 < len2) {
- return -1;
- } else {
- return 0;
- }
+ return (int)(len1 - len2);
}
/* }}} */
@@ -2399,13 +2381,7 @@ ZEND_API int zend_binary_strncasecmp(const char *s1, zend_size_t len1, const cha
}
}
- if (MIN(length, len1) > MIN(length, len2)) {
- return 1;
- } else if (MIN(length, len1) < MIN(length, len2)) {
- return -1;
- } else {
- return 0;
- }
+ return (int)(MIN(length, len1) - MIN(length, len2));
}
/* }}} */
@@ -2427,13 +2403,7 @@ ZEND_API int zend_binary_strcasecmp_l(const char *s1, zend_size_t len1, const ch
}
}
- if (len1 > len2) {
- return 1;
- } else if (len1 < len2) {
- return -1;
- } else {
- return 0;
- }
+ return (int)(len1 - len2);
}
/* }}} */
@@ -2454,13 +2424,7 @@ ZEND_API int zend_binary_strncasecmp_l(const char *s1, zend_size_t len1, const c
}
}
- if (MIN(length, len1) > MIN(length, len2)) {
- return 1;
- } else if (MIN(length, len1) < MIN(length, len2)) {
- return -1;
- } else {
- return 0;
- }
+ return (int)(MIN(length, len1) - MIN(length, len2));
}
/* }}} */
diff --git a/Zend/zend_strtod.c b/Zend/zend_strtod.c
index f34502054a..4546614cfd 100644
--- a/Zend/zend_strtod.c
+++ b/Zend/zend_strtod.c
@@ -174,7 +174,7 @@ typedef unsigned long int uint32_t;
#endif
#define Long int32_t
-#define zend_uint_t uint32_t
+#define ULong uint32_t
#ifdef __cplusplus
#include "malloc.h"
@@ -272,7 +272,7 @@ BEGIN_EXTERN_C()
typedef union {
double d;
- zend_uint_t ul[2];
+ ULong ul[2];
} _double;
#define value(x) ((x).d)
#ifdef IEEE_LITTLE_ENDIAN
@@ -418,7 +418,7 @@ extern double rnd_prod(double, double), rnd_quot(double, double);
struct Bigint {
struct Bigint *next;
int k, maxwds, sign, wds;
- zend_uint_t x[1];
+ ULong x[1];
};
typedef struct Bigint Bigint;
@@ -519,9 +519,9 @@ static void Bfree(Bigint *v)
static char * rv_alloc(int i) {
int j, k, *r;
- j = sizeof(zend_uint_t);
+ j = sizeof(ULong);
for(k = 0;
- sizeof(Bigint) - sizeof(zend_uint_t) - sizeof(int) + j <= i;
+ sizeof(Bigint) - sizeof(ULong) - sizeof(int) + j <= i;
j <<= 1) {
k++;
}
@@ -548,9 +548,9 @@ static char * nrv_alloc(char *s, char **rve, int n)
static Bigint * multadd(Bigint *b, int m, int a) /* multiply by m and add a */
{
int i, wds;
- zend_uint_t *x, y;
+ ULong *x, y;
#ifdef Pack_32
- zend_uint_t xi, z;
+ ULong xi, z;
#endif
Bigint *b1;
@@ -584,7 +584,7 @@ static Bigint * multadd(Bigint *b, int m, int a) /* multiply by m and add a */
return b;
}
-static int hi0bits(zend_uint_t x)
+static int hi0bits(ULong x)
{
int k = 0;
@@ -613,10 +613,10 @@ static int hi0bits(zend_uint_t x)
return k;
}
-static int lo0bits(zend_uint_t *y)
+static int lo0bits(ULong *y)
{
int k;
- zend_uint_t x = *y;
+ ULong x = *y;
if (x & 7) {
if (x & 1) {
@@ -671,10 +671,10 @@ static Bigint * mult(Bigint *a, Bigint *b)
{
Bigint *c;
int k, wa, wb, wc;
- zend_uint_t carry, y, z;
- zend_uint_t *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
+ ULong carry, y, z;
+ ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
#ifdef Pack_32
- zend_uint_t z2;
+ ULong z2;
#endif
if (a->wds < b->wds) {
@@ -751,7 +751,7 @@ static Bigint * mult(Bigint *a, Bigint *b)
return c;
}
-static Bigint * s2b (CONST char *s, int nd0, int nd, zend_uint_t y9)
+static Bigint * s2b (CONST char *s, int nd0, int nd, ULong y9)
{
Bigint *b;
int i, k;
@@ -830,7 +830,7 @@ static Bigint *lshift(Bigint *b, int k)
{
int i, k1, n, n1;
Bigint *b1;
- zend_uint_t *x, *x1, *xe, z;
+ ULong *x, *x1, *xe, z;
#ifdef Pack_32
n = k >> 5;
@@ -886,7 +886,7 @@ static Bigint *lshift(Bigint *b, int k)
static int cmp(Bigint *a, Bigint *b)
{
- zend_uint_t *xa, *xa0, *xb, *xb0;
+ ULong *xa, *xa0, *xb, *xb0;
int i, j;
i = a->wds;
@@ -918,7 +918,7 @@ static Bigint * diff(Bigint *a, Bigint *b)
Bigint *c;
int i, wa, wb;
Long borrow, y; /* We need signed shifts here. */
- zend_uint_t *xa, *xae, *xb, *xbe, *xc;
+ ULong *xa, *xae, *xb, *xbe, *xc;
#ifdef Pack_32
Long z;
#endif
@@ -1030,11 +1030,11 @@ b2d
(Bigint *a, int *e)
#endif
{
- zend_uint_t *xa, *xa0, w, y, z;
+ ULong *xa, *xa0, w, y, z;
int k;
volatile _double d;
#ifdef VAX
- zend_uint_t d0, d1;
+ ULong d0, d1;
#else
#define d0 word0(d)
#define d1 word1(d)
@@ -1097,10 +1097,10 @@ static Bigint * d2b(double _d, int *e, int *bits)
{
Bigint *b;
int de, i, k;
- zend_uint_t *x, y, z;
+ ULong *x, y, z;
volatile _double d;
#ifdef VAX
- zend_uint_t d0, d1;
+ ULong d0, d1;
#endif
value(d) = _d;
@@ -1283,11 +1283,11 @@ static int quorem(Bigint *b, Bigint *S)
{
int n;
Long borrow, y;
- zend_uint_t carry, q, ys;
- zend_uint_t *bx, *bxe, *sx, *sxe;
+ ULong carry, q, ys;
+ ULong *bx, *bxe, *sx, *sxe;
#ifdef Pack_32
Long z;
- zend_uint_t si, zs;
+ ULong si, zs;
#endif
n = S->wds;
@@ -1481,7 +1481,7 @@ ZEND_API char * zend_dtoa(double _d, int mode, int ndigits, int *decpt, int *sig
Long L;
#ifndef Sudden_Underflow
int denorm;
- zend_uint_t x;
+ ULong x;
#endif
Bigint *b, *b1, *delta, *mlo, *mhi, *S, *tmp;
double ds;
@@ -2044,7 +2044,7 @@ ZEND_API double zend_strtod (CONST char *s00, CONST char **se)
volatile double aadj, aadj1, adj;
volatile _double rv, rv0;
Long L;
- zend_uint_t y, z;
+ ULong y, z;
Bigint *bb, *bb1, *bd, *bd0, *bs, *delta, *tmp;
double result;
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 974a46ffce..29e93371a0 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -5091,7 +5091,7 @@ ZEND_VM_HANDLER(58, ZEND_END_SILENCE, TMP, ANY)
SAVE_OPLINE();
if (!EG(error_reporting) && Z_IVAL_P(EX_VAR(opline->op1.var)) != 0) {
EG(error_reporting) = Z_IVAL_P(EX_VAR(opline->op1.var));
- _zend_print_signed_to_buf(buf + sizeof(buf) - 1, EG(error_reporting), unsigned long, res);
+ _zend_print_signed_to_buf(buf + sizeof(buf) - 1, EG(error_reporting), zend_uint_t, res);
if (EXPECTED(EG(error_reporting_ini_entry) != NULL)) {
if (EXPECTED(EG(error_reporting_ini_entry)->modified &&
EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value)) {
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 93309b5da1..4a3b173a30 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -8797,7 +8797,7 @@ static int ZEND_FASTCALL ZEND_END_SILENCE_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_
SAVE_OPLINE();
if (!EG(error_reporting) && Z_IVAL_P(EX_VAR(opline->op1.var)) != 0) {
EG(error_reporting) = Z_IVAL_P(EX_VAR(opline->op1.var));
- _zend_print_signed_to_buf(buf + sizeof(buf) - 1, EG(error_reporting), unsigned long, res);
+ _zend_print_signed_to_buf(buf + sizeof(buf) - 1, EG(error_reporting), zend_uint_t, res);
if (EXPECTED(EG(error_reporting_ini_entry) != NULL)) {
if (EXPECTED(EG(error_reporting_ini_entry)->modified &&
EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value)) {
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 605d9ddc7d..4137823257 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -395,7 +395,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_array_merge, 0, 0, 2)
ZEND_ARG_INFO(0, arr1) /* ARRAY_INFO(0, arg, 0) */
ZEND_ARG_VARIADIC_INFO(0, arrays)
ZEND_END_ARG_INFO()
-
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_merge_recursive, 0, 0, 2)
ZEND_ARG_INFO(0, arr1) /* ARRAY_INFO(0, arg, 0) */
ZEND_ARG_VARIADIC_INFO(0, arrays)
@@ -4428,7 +4428,7 @@ PHP_FUNCTION(usleep)
Delay for a number of seconds and nano seconds */
PHP_FUNCTION(time_nanosleep)
{
- php_int_t tv_sec, tv_nsec;
+ long tv_sec, tv_nsec;
struct timespec php_req, php_rem;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &tv_sec, &tv_nsec) == FAILURE) {
diff --git a/ext/standard/php_rand.h b/ext/standard/php_rand.h
index 0e8abb3613..dd41c57d88 100644
--- a/ext/standard/php_rand.h
+++ b/ext/standard/php_rand.h
@@ -42,19 +42,19 @@
#endif
#define RAND_RANGE(__n, __min, __max, __tmax) \
- (__n) = (__min) + (long) ((double) ( (double) (__max) - (__min) + 1.0) * ((__n) / ((__tmax) + 1.0)))
+ (__n) = (__min) + (php_int_t) ((double) ( (double) (__max) - (__min) + 1.0) * ((__n) / ((__tmax) + 1.0)))
/* MT Rand */
-#define PHP_MT_RAND_MAX ((long) (0x7FFFFFFF)) /* (1<<31) - 1 */
+#define PHP_MT_RAND_MAX ((php_int_t) (0x7FFFFFFF)) /* (1<<31) - 1 */
#ifdef PHP_WIN32
-#define GENERATE_SEED() (((long) (time(0) * GetCurrentProcessId())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C))))
+#define GENERATE_SEED() (((php_int_t) (time(0) * GetCurrentProcessId())) ^ ((php_int_t) (1000000.0 * php_combined_lcg(TSRMLS_C))))
#else
-#define GENERATE_SEED() (((long) (time(0) * getpid())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C))))
+#define GENERATE_SEED() (((php_int_t) (time(0) * getpid())) ^ ((php_int_t) (1000000.0 * php_combined_lcg(TSRMLS_C))))
#endif
-PHPAPI void php_srand(long seed TSRMLS_DC);
-PHPAPI long php_rand(TSRMLS_D);
+PHPAPI void php_srand(php_int_t seed TSRMLS_DC);
+PHPAPI php_int_t php_rand(TSRMLS_D);
PHPAPI void php_mt_srand(php_uint32 seed TSRMLS_DC);
PHPAPI php_uint32 php_mt_rand(TSRMLS_D);
diff --git a/ext/standard/rand.c b/ext/standard/rand.c
index 3029ed28bc..972f015948 100644
--- a/ext/standard/rand.c
+++ b/ext/standard/rand.c
@@ -38,7 +38,7 @@
/* {{{ php_srand
*/
-PHPAPI void php_srand(long seed TSRMLS_DC)
+PHPAPI void php_srand(php_int_t seed TSRMLS_DC)
{
#ifdef ZTS
BG(rand_seed) = (unsigned int) seed;
@@ -59,9 +59,9 @@ PHPAPI void php_srand(long seed TSRMLS_DC)
/* {{{ php_rand
*/
-PHPAPI long php_rand(TSRMLS_D)
+PHPAPI php_int_t php_rand(TSRMLS_D)
{
- long ret;
+ php_int_t ret;
if (!BG(rand_is_seeded)) {
php_srand(GENERATE_SEED() TSRMLS_CC);
@@ -229,9 +229,9 @@ PHPAPI php_uint32 php_mt_rand(TSRMLS_D)
Seeds random number generator */
PHP_FUNCTION(srand)
{
- long seed = 0;
+ php_int_t seed = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &seed) == FAILURE)
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|i", &seed) == FAILURE)
return;
if (ZEND_NUM_ARGS() == 0)
@@ -245,9 +245,9 @@ PHP_FUNCTION(srand)
Seeds Mersenne Twister random number generator */
PHP_FUNCTION(mt_srand)
{
- long seed = 0;
+ php_int_t seed = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &seed) == FAILURE)
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|i", &seed) == FAILURE)
return;
if (ZEND_NUM_ARGS() == 0)
@@ -288,12 +288,12 @@ PHP_FUNCTION(mt_srand)
Returns a random number */
PHP_FUNCTION(rand)
{
- long min;
- long max;
- long number;
+ php_int_t min;
+ php_int_t max;
+ php_int_t number;
int argc = ZEND_NUM_ARGS();
- if (argc != 0 && zend_parse_parameters(argc TSRMLS_CC, "ll", &min, &max) == FAILURE)
+ if (argc != 0 && zend_parse_parameters(argc TSRMLS_CC, "ii", &min, &max) == FAILURE)
return;
number = php_rand(TSRMLS_C);
@@ -309,16 +309,16 @@ PHP_FUNCTION(rand)
Returns a random number from Mersenne Twister */
PHP_FUNCTION(mt_rand)
{
- long min;
- long max;
- long number;
+ php_int_t min;
+ php_int_t max;
+ php_int_t number;
int argc = ZEND_NUM_ARGS();
if (argc != 0) {
- if (zend_parse_parameters(argc TSRMLS_CC, "ll", &min, &max) == FAILURE) {
+ if (zend_parse_parameters(argc TSRMLS_CC, "ii", &min, &max) == FAILURE) {
return;
} else if (max < min) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "max(%ld) is smaller than min(%ld)", max, min);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "max(" ZEND_INT_FMT ") is smaller than min(" ZEND_INT_FMT ")", max, min);
RETURN_FALSE;
}
}
@@ -335,7 +335,7 @@ PHP_FUNCTION(mt_rand)
* Update:
* I talked with Cokus via email and it won't ruin the algorithm
*/
- number = (long) (php_mt_rand(TSRMLS_C) >> 1);
+ number = (php_int_t) (php_mt_rand(TSRMLS_C) >> 1);
if (argc == 2) {
RAND_RANGE(number, min, max, PHP_MT_RAND_MAX);
}
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 6dd6d5930e..0761f88387 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -4730,7 +4730,7 @@ PHP_FUNCTION(str_repeat)
zend_string *result; /* Resulting string */
size_t result_len; /* Length of the resulting string */
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Sl", &input_str, &mult) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Si", &input_str, &mult) == FAILURE) {
return;
}