cvs: php4(PHP_4_2_0) /ext/ctype ctype.c
| From: | Jani Taskinen | Date: | Sat, 09 Mar 2002 00:26:09 +0000 |
| Subject: | cvs: php4(PHP_4_2_0) /ext/ctype ctype.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-9841@lists.php.net to get a copy of this message | ||
sniper Fri Mar 8 19:26:09 2002 EDT
Modified files: (Branch: PHP_4_2_0)
/php4/ext/ctype ctype.c
Log:
MFH the MacosX compile fix.
Index: php4/ext/ctype/ctype.c
diff -u php4/ext/ctype/ctype.c:1.21 php4/ext/ctype/ctype.c:1.21.2.1
--- php4/ext/ctype/ctype.c:1.21 Thu Feb 28 03:25:50 2002
+++ php4/ext/ctype/ctype.c Fri Mar 8 19:26:09 2002
@@ -91,43 +91,36 @@
/* {{{ ctype
*/
-static int ctype(int (*iswhat)(int), zval **c)
-{
- switch (Z_TYPE_PP(c)) {
- case IS_LONG:
- return iswhat(Z_LVAL_PP(c));
- case IS_STRING:
- {
- char *p;
- int n, len;
- p=Z_STRVAL_PP(c);
- len = Z_STRLEN_PP(c);
- for(n=0;n<len;n++) {
- if(!iswhat(*p++)) return 0;
- }
- return 1;
- }
- default:
- break;
- }
- return 0;
-}
+#define CTYPE(iswhat) \
+ zval *c; \
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE) \
+ return; \
+ switch (Z_TYPE_P(c)) { \
+ case IS_LONG: \
+ RETURN_BOOL(iswhat(Z_LVAL_P(c))); \
+ case IS_STRING: \
+ { \
+ char *p; \
+ int n, len; \
+ p=Z_STRVAL_P(c); \
+ len = Z_STRLEN_P(c); \
+ for(n=0;n<len;n++) { \
+ if(!iswhat(*p++)) RETURN_FALSE; \
+ } \
+ RETURN_TRUE; \
+ } \
+ default: \
+ break; \
+ } \
+ RETURN_FALSE;
+
/* }}} */
/* {{{ proto bool ctype_alnum(mixed c)
Checks for alphanumeric character(s) */
PHP_FUNCTION(ctype_alnum)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isalnum, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isalnum);
}
/* }}} */
@@ -135,16 +128,7 @@
Checks for alphabetic character(s) */
PHP_FUNCTION(ctype_alpha)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isalpha, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isalpha);
}
/* }}} */
@@ -152,16 +136,7 @@
Checks for control character(s) */
PHP_FUNCTION(ctype_cntrl)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(iscntrl, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(iscntrl);
}
/* }}} */
@@ -169,16 +144,7 @@
Checks for numeric character(s) */
PHP_FUNCTION(ctype_digit)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isdigit, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isdigit);
}
/* }}} */
@@ -186,16 +152,7 @@
Checks for lowercase character(s) */
PHP_FUNCTION(ctype_lower)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(islower, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(islower);
}
/* }}} */
@@ -203,16 +160,7 @@
Checks for any printable character(s) except space */
PHP_FUNCTION(ctype_graph)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isgraph, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isgraph);
}
/* }}} */
@@ -220,16 +168,7 @@
Checks for printable character(s) */
PHP_FUNCTION(ctype_print)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isprint, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isprint);
}
/* }}} */
@@ -237,16 +176,7 @@
Checks for any printable character which is not whitespace or an alphanumeric character */
PHP_FUNCTION(ctype_punct)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(ispunct, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(ispunct);
}
/* }}} */
@@ -254,16 +184,7 @@
Checks for whitespace character(s)*/
PHP_FUNCTION(ctype_space)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isspace, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isspace);
}
/* }}} */
@@ -271,16 +192,7 @@
Checks for uppercase character(s) */
PHP_FUNCTION(ctype_upper)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isupper, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isupper);
}
/* }}} */
@@ -288,16 +200,7 @@
Checks for character(s) representing a hexadecimal digit */
PHP_FUNCTION(ctype_xdigit)
{
- zval *c;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &c) == FAILURE)
- return;
-
- if(ctype(isxdigit, &c)) {
- RETURN_TRUE;
- }
-
- RETURN_FALSE;
+ CTYPE(isxdigit);
}
/* }}} */