00001
00002
00003
00004
00005 #include "ace/os_include/os_ctype.h"
00006 #if defined ACE_HAS_WCHAR
00007 # include "ace/os_include/os_wctype.h"
00008 #endif
00009
00010 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00011
00012 ACE_INLINE int
00013 ACE_OS::ace_isalnum (ACE_TCHAR c)
00014 {
00015 #if defined (ACE_USES_WCHAR)
00016 # if defined (_MSC_VER) && (_MSC_VER >= 1300)
00017
00018
00019 return c > 0 && c < 256 && iswalnum (c);
00020 # else
00021 return iswalnum (c);
00022 # endif
00023 #else
00024 return isalnum ((unsigned char) c);
00025 #endif
00026 }
00027
00028 ACE_INLINE int
00029 ACE_OS::ace_isalpha (ACE_TCHAR c)
00030 {
00031 #if defined (ACE_USES_WCHAR)
00032 return iswalpha (c);
00033 #else
00034 return isalpha ((unsigned char) c);
00035 #endif
00036 }
00037
00038 ACE_INLINE int
00039 ACE_OS::ace_iscntrl (ACE_TCHAR c)
00040 {
00041 #if defined (ACE_USES_WCHAR)
00042 return iswcntrl (c);
00043 #else
00044 return iscntrl ((unsigned char) c);
00045 #endif
00046 }
00047
00048 ACE_INLINE int
00049 ACE_OS::ace_isdigit (ACE_TCHAR c)
00050 {
00051 #if defined (ACE_USES_WCHAR)
00052 return iswdigit (c);
00053 #else
00054 return isdigit ((unsigned char) c);
00055 #endif
00056 }
00057
00058 ACE_INLINE int
00059 ACE_OS::ace_isgraph (ACE_TCHAR c)
00060 {
00061 #if defined (ACE_USES_WCHAR)
00062 return iswgraph (c);
00063 #else
00064 return isgraph ((unsigned char) c);
00065 #endif
00066 }
00067
00068 ACE_INLINE int
00069 ACE_OS::ace_islower (ACE_TCHAR c)
00070 {
00071 #if defined (ACE_USES_WCHAR)
00072 return iswlower (c);
00073 #else
00074 return islower ((unsigned char) c);
00075 #endif
00076 }
00077
00078 ACE_INLINE int
00079 ACE_OS::ace_isprint (ACE_TCHAR c)
00080 {
00081 #if defined (ACE_USES_WCHAR)
00082 return iswprint (c);
00083 #else
00084 return isprint ((unsigned char) c);
00085 #endif
00086 }
00087
00088 ACE_INLINE int
00089 ACE_OS::ace_ispunct (ACE_TCHAR c)
00090 {
00091 #if defined (ACE_USES_WCHAR)
00092 return iswpunct (c);
00093 #else
00094 return ispunct ((unsigned char) c);
00095 #endif
00096 }
00097
00098 ACE_INLINE int
00099 ACE_OS::ace_isspace (ACE_TCHAR c)
00100 {
00101 #if defined (ACE_USES_WCHAR)
00102 return iswspace (c);
00103 #else
00104 return isspace ((unsigned char) c);
00105 #endif
00106 }
00107
00108 ACE_INLINE int
00109 ACE_OS::ace_isupper (ACE_TCHAR c)
00110 {
00111 #if defined (ACE_USES_WCHAR)
00112 return iswupper (c);
00113 #else
00114 return isupper ((unsigned char) c);
00115 #endif
00116 }
00117
00118 ACE_INLINE int
00119 ACE_OS::ace_isxdigit (ACE_TCHAR c)
00120 {
00121 #if defined (ACE_USES_WCHAR)
00122 return iswxdigit (c);
00123 #else
00124 return isxdigit ((unsigned char) c);
00125 #endif
00126 }
00127
00128 ACE_INLINE int
00129 ACE_OS::ace_tolower (int c)
00130 {
00131 return tolower (c);
00132 }
00133
00134 #if defined (ACE_HAS_WCHAR)
00135 ACE_INLINE wint_t
00136 ACE_OS::ace_towlower (wint_t c)
00137 {
00138 #if defined (ACE_LACKS_TOWLOWER)
00139 if (c < 256)
00140 return tolower (static_cast<int> (c));
00141 else
00142 return c;
00143 #else
00144 return towlower (c);
00145 #endif
00146 }
00147 #endif
00148
00149 ACE_INLINE int
00150 ACE_OS::ace_toupper (int c)
00151 {
00152 return toupper (c);
00153 }
00154
00155 #if defined (ACE_HAS_WCHAR) && !defined (ACE_LACKS_TOWUPPER)
00156 ACE_INLINE wint_t
00157 ACE_OS::ace_towupper (wint_t c)
00158 {
00159 return towupper (c);
00160 }
00161 #endif
00162
00163 ACE_END_VERSIONED_NAMESPACE_DECL