--- basic_functions.c.orig Sun May 20 02:31:45 2001 +++ basic_functions.c Wed Oct 3 15:01:22 2001 @@ -177,6 +177,7 @@ PHP_FE(quotemeta, NULL) PHP_FE(ucfirst, NULL) PHP_FE(ucwords, NULL) + PHP_FE(smallcaps, NULL) PHP_FE(strtr, NULL) PHP_FE(addslashes, NULL) PHP_FE(addcslashes, NULL) --- php_string.h.orig Sat Mar 17 21:35:38 2001 +++ php_string.h Wed Oct 3 15:01:46 2001 @@ -51,6 +51,7 @@ PHP_FUNCTION(quotemeta); PHP_FUNCTION(ucfirst); PHP_FUNCTION(ucwords); +PHP_FUNCTION(smallcaps); PHP_FUNCTION(strtr); PHP_FUNCTION(strrev); PHP_FUNCTION(hebrev); --- string.c.orig Sun Apr 29 15:30:56 2001 +++ string.c Sat Oct 6 01:15:57 2001 @@ -1526,6 +1526,97 @@ } /* }}} */ +PHPAPI char *php_smallcaps_insert(char *src, char *dst, unsigned int index) +{ + unsigned int i, new_len, rpart_len, src_len, dst_len; + + src_len = strlen(src); + dst_len = strlen(dst); + + new_len = dst_len + src_len; + dst = erealloc(dst, new_len + 1); + dst[new_len] = 0; + + // copy the right block at the end + rpart_len = dst_len - index; + for (i=0; i 2) + WRONG_PARAM_COUNT; + + if (zend_get_parameters_array_ex(arg_count, args) != SUCCESS) + WRONG_PARAM_COUNT; + + convert_to_string_ex(args[0]); + if (!Z_STRLEN_PP(args[0])) { + RETURN_EMPTY_STRING(); + } + + if (arg_count > 1) { + convert_to_string_ex(args[1]); + tag_default = Z_STRVAL_PP(args[1]); + } + + tag_1 = (char *)emalloc(strlen(tag11) + strlen(tag12) + strlen(tag_default) + 1); + strcpy(tag_1, tag11); + strcpy(tag_1 + strlen(tag_1), tag_default); + strcpy(tag_1 + strlen(tag_1), tag12); + + retval = (char *)estrdup(Z_STRVAL_PP(args[0])); + tag1_len = strlen(tag_1); + tag2_len = strlen(tag_2); + + while (retval[i]) { + if (islower(retval[i])) { + if (!flag) { + flag = 1; + retval = php_smallcaps_insert(tag_1, retval, i); + i += tag1_len; + } + retval[i] = toupper(retval[i]); + } else { + if (flag) { + flag = 0; + retval = php_smallcaps_insert(tag_2, retval, i); + i += tag2_len; + } + } + i++; + } + + if (flag) retval = php_smallcaps_insert(tag_2, retval, i); + efree(tag_1); + + RETVAL_STRINGL(retval, strlen(retval), 0); +} +/* }}} */ + PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trlen) {