summaryrefslogtreecommitdiff
path: root/ext/mysql/libmysql/mf_casecnv.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-08-22 17:59:35 +0000
committerAndi Gutmans <andi@php.net>2000-08-22 17:59:35 +0000
commit0222b7ab416d845abcd3925b3da47fa2d7ed238d (patch)
tree38cbb73fda38196612fddffda4d803003a86b568 /ext/mysql/libmysql/mf_casecnv.c
parent60676f19a5f5425c4375d8ba60e8bd07016ba562 (diff)
downloadphp-git-0222b7ab416d845abcd3925b3da47fa2d7ed238d.tar.gz
- Try and revert libmysql for 4.0.2
Diffstat (limited to 'ext/mysql/libmysql/mf_casecnv.c')
-rw-r--r--ext/mysql/libmysql/mf_casecnv.c203
1 files changed, 73 insertions, 130 deletions
diff --git a/ext/mysql/libmysql/mf_casecnv.c b/ext/mysql/libmysql/mf_casecnv.c
index 1d63527eb7..6b24182b9c 100644
--- a/ext/mysql/libmysql/mf_casecnv.c
+++ b/ext/mysql/libmysql/mf_casecnv.c
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+ This file is public domain and comes with NO WARRANTY of any kind */
/*
Functions to convert to lover_case and to upper_case in scandinavia.
@@ -32,17 +18,16 @@ void caseup_str(my_string str)
{
#ifdef USE_MB
register uint32 l;
- register char *end=str+(uint) strlen(str);
- if (use_mb(default_charset_info))
- while (*str)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=toupper(*str),++str;
- }
- else
+ register char *end=str+strlen(str);
+ while (*str)
+ {
+ if ((l=ismbchar(str,end))) str+=l;
+ else *str=toupper(*str),++str;
+ }
+#else
+ while ((*str = toupper(*str)) != 0)
+ str++;
#endif
- while ((*str = toupper(*str)) != 0)
- str++;
} /* caseup_str */
/* string to lowercase */
@@ -51,17 +36,16 @@ void casedn_str(my_string str)
{
#ifdef USE_MB
register uint32 l;
- register char *end=str+(uint) strlen(str);
- if (use_mb(default_charset_info))
- while (*str)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=tolower(*str),++str;
- }
- else
+ register char *end=str+strlen(str);
+ while (*str)
+ {
+ if ((l=ismbchar(str,end))) str+=l;
+ else *str=tolower(*str),++str;
+ }
+#else
+ while ((*str= tolower(*str)) != 0)
+ str++;
#endif
- while ((*str= tolower(*str)) != 0)
- str++;
} /* casedn_str */
@@ -72,16 +56,15 @@ void caseup(my_string str, uint length)
#ifdef USE_MB
register uint32 l;
register char *end=str+length;
- if (use_mb(default_charset_info))
- while (str<end)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=toupper(*str),++str;
- }
- else
+ while (str<end)
+ {
+ if ((l=ismbchar(str,end))) str+=l;
+ else *str=toupper(*str),++str;
+ }
+#else
+ for ( ; length>0 ; length--, str++)
+ *str= toupper(*str);
#endif
- for ( ; length>0 ; length--, str++)
- *str= toupper(*str);
} /* caseup */
/* to lowercase */
@@ -91,16 +74,15 @@ void casedn(my_string str, uint length)
#ifdef USE_MB
register uint32 l;
register char *end=str+length;
- if (use_mb(default_charset_info))
- while (str<end)
- {
- if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
- else *str=tolower(*str),++str;
- }
- else
+ while (str<end)
+ {
+ if ((l=ismbchar(str,end))) str+=l;
+ else *str=tolower(*str),++str;
+ }
+#else
+ for ( ; length>0 ; length--, str++)
+ *str= tolower(*str);
#endif
- for ( ; length>0 ; length--, str++)
- *str= tolower(*str);
} /* casedn */
/* to sort-string that can be compared to get text in order */
@@ -118,7 +100,7 @@ void case_sort(my_string str, uint length)
Wei He (hewei@mail.ied.ac.cn)
*/
-my_string my_strcasestr(const char *str, const char *search)
+my_string strcasestr(const char *str, const char *search)
{
uchar *i,*j,*pos;
@@ -126,8 +108,7 @@ my_string my_strcasestr(const char *str, const char *search)
skipp:
while (*pos != '\0')
{
- if (toupper((uchar) *pos++) == toupper((uchar) *search))
- {
+ if (toupper((uchar) *pos++) == toupper((uchar) *search)) {
i=(uchar*) pos; j=(uchar*) search+1;
while (*j)
if (toupper(*i++) != toupper(*j++)) goto skipp;
@@ -144,28 +125,23 @@ int my_strcasecmp(const char *s, const char *t)
{
#ifdef USE_MB
register uint32 l;
- register const char *end=s+(uint) strlen(s);
- if (use_mb(default_charset_info))
+ register const char *end=s+strlen(s);
+ while (s<end)
{
- while (s<end)
+ if ((l=ismbchar(s,end)))
{
- if ((l=my_ismbchar(default_charset_info, s,end)))
- {
- while (l--)
- if (*s++ != *t++) return 1;
- }
- else if (my_ismbhead(default_charset_info, *t)) return 1;
- else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
+ while (l--)
+ if (*s++ != *t++) return 1;
}
- return *t;
+ else if (ismbhead(*t)) return 1;
+ else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
}
- else
+ return *t;
+#else
+ while (toupper((uchar) *s) == toupper((uchar) *t++))
+ if (!*s++) return 0;
+ return ((int) toupper((uchar) s[0]) - (int) toupper((uchar) t[-1]));
#endif
- {
- while (toupper((uchar) *s) == toupper((uchar) *t++))
- if (!*s++) return 0;
- return ((int) toupper((uchar) s[0]) - (int) toupper((uchar) t[-1]));
- }
}
@@ -174,79 +150,46 @@ int my_casecmp(const char *s, const char *t, uint len)
#ifdef USE_MB
register uint32 l;
register const char *end=s+len;
- if (use_mb(default_charset_info))
+ while (s<end)
{
- while (s<end)
+ if ((l=ismbchar(s,end)))
{
- if ((l=my_ismbchar(default_charset_info, s,end)))
- {
- while (l--)
- if (*s++ != *t++) return 1;
- }
- else if (my_ismbhead(default_charset_info, *t)) return 1;
- else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
+ while (l--)
+ if (*s++ != *t++) return 1;
}
- return 0;
+ else if (ismbhead(*t)) return 1;
+ else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
}
- else
+ return 0;
+#else
+ while (len-- != 0 && toupper(*s++) == toupper(*t++)) ;
+ return (int) len+1;
#endif
- {
- while (len-- != 0 && toupper(*s++) == toupper(*t++)) ;
- return (int) len+1;
- }
}
int my_strsortcmp(const char *s, const char *t)
{
#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- return my_strcoll(default_charset_info, (uchar *)s, (uchar *)t);
- else
+ return my_strcoll((uchar *)s, (uchar *)t);
+#else
+ while (my_sort_order[(uchar) *s] == my_sort_order[(uchar) *t++])
+ if (!*s++) return 0;
+ return ((int) my_sort_order[(uchar) s[0]] - (int) my_sort_order[(uchar) t[-1]]);
#endif
- {
- while (my_sort_order[(uchar) *s] == my_sort_order[(uchar) *t++])
- if (!*s++) return 0;
- return ((int) my_sort_order[(uchar) s[0]] -
- (int) my_sort_order[(uchar) t[-1]]);
- }
}
int my_sortcmp(const char *s, const char *t, uint len)
{
-#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- return my_strnncoll(default_charset_info,
- (uchar *)s, len, (uchar *)t, len);
- else
-#endif
+#ifndef USE_STRCOLL
+ while (len--)
{
- while (len--)
- {
- if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
- return ((int) my_sort_order[(uchar) s[-1]] -
- (int) my_sort_order[(uchar) t[-1]]);
- }
- return 0;
+ if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
+ return ((int) my_sort_order[(uchar) s[-1]] -
+ (int) my_sort_order[(uchar) t[-1]]);
}
-}
-
-int my_sortncmp(const char *s, uint s_len, const char *t, uint t_len)
-{
-#ifdef USE_STRCOLL
- if (use_strcoll(default_charset_info))
- return my_strnncoll(default_charset_info,
- (uchar *)s, s_len, (uchar *)t, t_len);
- else
+ return 0;
+#else
+ return my_strnncoll((uchar *)s, len, (uchar *)t, len);
#endif
- {
- uint len= min(s_len,t_len);
- while (len--)
- {
- if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
- return ((int) my_sort_order[(uchar) s[-1]] -
- (int) my_sort_order[(uchar) t[-1]]);
- }
- return (int) (s_len - t_len);
- }
}