00001
00002
00003
00004
00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 #if defined (ACE_HAS_WCHAR)
00008 ACE_INLINE wint_t
00009 ACE_OS::fgetwc (FILE* fp)
00010 {
00011 # if defined (ACE_LACKS_FGETWC)
00012 ACE_UNUSED_ARG (fp);
00013 ACE_NOTSUP_RETURN (0);
00014 # else
00015 ACE_OSCALL_RETURN (ACE_STD_NAMESPACE::fgetwc (fp), wint_t, WEOF);
00016 # endif
00017 }
00018 #endif
00019
00020 ACE_INLINE u_int
00021 ACE_OS::wslen (const WChar *s)
00022 {
00023 u_int len = 0;
00024
00025 while (*s++ != 0)
00026 len++;
00027
00028 return len;
00029 }
00030
00031 ACE_INLINE ACE_OS::WChar *
00032 ACE_OS::wscpy (WChar *dest, const WChar *src)
00033 {
00034 WChar *original_dest = dest;
00035
00036 while ((*dest++ = *src++) != 0)
00037 continue;
00038
00039 return original_dest;
00040 }
00041
00042 ACE_INLINE int
00043 ACE_OS::wscmp (const WChar *s, const WChar *t)
00044 {
00045 const WChar *scan1 = s;
00046 const WChar *scan2 = t;
00047
00048 while (*scan1 != 0 && *scan1 == *scan2)
00049 {
00050 ++scan1;
00051 ++scan2;
00052 }
00053
00054 return *scan1 - *scan2;
00055 }
00056
00057 ACE_INLINE int
00058 ACE_OS::wsncmp (const WChar *s, const WChar *t, size_t len)
00059 {
00060 const WChar *scan1 = s;
00061 const WChar *scan2 = t;
00062
00063 while (len != 0 && *scan1 != 0 && *scan1 == *scan2)
00064 {
00065 ++scan1;
00066 ++scan2;
00067 --len;
00068 }
00069
00070 return len == 0 ? 0 : *scan1 - *scan2;
00071 }
00072
00073 #if defined (ACE_HAS_WCHAR)
00074 ACE_INLINE wint_t
00075 ACE_OS::ungetwc (wint_t c, FILE* fp)
00076 {
00077 # if defined (ACE_LACKS_FGETWC)
00078 ACE_UNUSED_ARG (c);
00079 ACE_UNUSED_ARG (fp);
00080 ACE_NOTSUP_RETURN (0);
00081 # else
00082 ACE_OSCALL_RETURN (ACE_STD_NAMESPACE::ungetwc (c, fp), wint_t, WEOF);
00083 # endif
00084 }
00085 #endif
00086
00087 ACE_END_VERSIONED_NAMESPACE_DECL