2
******************************************************************************
4
* Copyright (C) 1997-2001, International Business Machines
5
* Corporation and others. All Rights Reserved.
7
******************************************************************************
13
* Modification History:
15
* Date Name Description
16
* 6/18/98 hshih Created
17
* 09/08/98 stephen Added include for ctype, for Mac Port
18
* 11/15/99 helena Integrated S/390 IEEE changes.
19
******************************************************************************
25
#include "unicode/utypes.h"
29
U_CAPI char* U_EXPORT2
30
T_CString_toLowerCase(char* str)
36
*str = (char)tolower(*str);
43
U_CAPI char* U_EXPORT2
44
T_CString_toUpperCase(char* str)
50
*str = (char)toupper(*str);
57
/*Takes a int32_t and fills in a char* string with that number "radix"-based*/
60
T_CString_integerToString(char* buffer, int32_t i, int32_t radix)
70
digit = (int8_t)(i - num*radix);
71
buffer[length++] = (char)(T_CString_itosOffset(digit));
75
buffer[length] = (char)(T_CString_itosOffset(i));
76
buffer[length+1] = '\0';
79
/*Reverses the string*/
80
for (i = 0; i < length; ++i, --length) {
81
temp = buffer[length];
82
buffer[length] = buffer[i];
90
U_CAPI int32_t U_EXPORT2
91
T_CString_stringToInteger(const char *integerString, int32_t radix)
94
return strtoul(integerString, &end, radix);
99
T_CString_stricmp(const char *str1, const char *str2) {
106
} else if(str2==NULL) {
109
/* compare non-NULL strings lexically with lowercase */
111
unsigned char c1, c2;
114
c1=(unsigned char)*str1;
115
c2=(unsigned char)*str2;
125
/* compare non-zero characters with lowercase */
126
rc=(int)(unsigned char)uprv_tolower(c1)-(int)(unsigned char)uprv_tolower(c2);
138
T_CString_strnicmp(const char *str1, const char *str2, uint32_t n) {
145
} else if(str2==NULL) {
148
/* compare non-NULL strings lexically with lowercase */
150
unsigned char c1, c2;
153
c1=(unsigned char)*str1;
154
c2=(unsigned char)*str2;
164
/* compare non-zero characters with lowercase */
165
rc=(int)(unsigned char)uprv_tolower(c1)-(int)(unsigned char)uprv_tolower(c2);
178
U_CAPI char* U_EXPORT2
179
uprv_strdup(const char *src) {
180
size_t len = strlen(src) + 1;
181
char *dup = (char *) uprv_malloc(len);
184
uprv_memcpy(dup, src, len);