Update of /cvsroot/binaryphp/binaryphp/functions/string
In directory sc8-pr-cvs1:/tmp/cvs-serv23098/string
Added Files:
str_repeat.cpp str_replace.cpp stristr.cpp strlen.cpp
strpos.cpp strstr.cpp strtolower.cpp
Log Message:
Moved files into their proper subdirectories.
--- NEW FILE: str_repeat.cpp ---
php_var str_repeat(php_var input, php_var multiplier) {
char *out;
php_var retval;
int i=(int)multiplier;
if(i == 0)
return (php_var)"";
out=(char*)malloc(i*strlen(input)+1);
memset(out,0,i*strlen(input)+1);
for(;i>=1;i--)
sprintf(out,"%s%s",out,(const char*)input);
retval=out;
free(out);
return retval;
}
--- NEW FILE: str_replace.cpp ---
/* NO LIMIT SUPPORT */
php_var str_replace(php_var search, php_var replace, php_var subject) {
php_var retval=subject;
int i;
if(search.type == PHP_STRING) {
char *tmp1;
char *tmp2;
char *ptr;
tmp1=(char*)malloc(strlen(subject)+1);
memset(tmp1,0,strlen(subject));
strcpy(tmp1,subject);
while(ptr = strstr(tmp1, (const char *)search))
{
*ptr = '\0';
i=strlen(tmp1)+(int)(strlen(replace))+(int)(strlen(search))+1;
tmp2=(char*)malloc(i);
memset(tmp2,0,i);
sprintf(tmp2,"%s%s%s",tmp1,(const char*)replace,(const char*)(ptr+(int)(strlen(search))));
sprintf(tmp1,"%s",tmp2);
free(tmp2);
}
retval=(char*)tmp1;
free(tmp1);
} else if (search.type == PHP_ARRAY) {
for(i = 0;i < search.data.size(); ++i)
{
retval=str_replace(search.data[i],replace.data[i],retval);
}
}
return retval;
}
--- NEW FILE: stristr.cpp ---
php_var stristr(php_var haystack, php_var needle)
{
int pos = 0;
php_var ret;
string temp = (strtolower(haystack)).container;
string temp2 = (strtolower(needle)).container;
if((pos = temp.find(temp2)) != string::npos)
{
ret.type = PHP_STRING;
ret.container = haystack.container.substr(pos, haystack.container.length() - pos);
return ret;
}
else
return((php_var)false);
}
--- NEW FILE: strlen.cpp ---
php_var strlen(php_var str)
{
return (php_var) str.container.length();
}
php_var strlen(string str)
{
return (php_var) str.length();
}
--- NEW FILE: strpos.cpp ---
php_var strpos(php_var haystack, php_var needle, php_var pos = 0)
{
php_var ret = 0;
if((ret = haystack.container.find(needle.container, (int)pos)) != string::npos)
return ret;
else
return((php_var)false);
}
--- NEW FILE: strstr.cpp ---
php_var strstr(php_var haystack, php_var needle)
{
int pos = 0;
php_var ret;
if((pos = haystack.container.find(needle.container)) != string::npos)
{
ret.type = PHP_STRING;
ret.container = haystack.container.substr(pos, haystack.container.length() - pos);
return ret;
}
else
return((php_var)false);
}
--- NEW FILE: strtolower.cpp ---
php_var strtolower(php_var str)
{
for(int i = 0; i < str.container.length(); i++)
str.container[i] = tolower(str.container[i]);
return (php_var) str;
}
|