OS_NS_wchar.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // OS_NS_wchar.inl,v 1.5 2005/10/28 16:14:54 ossama Exp
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 /* ACE_LACKS_FGETWC */
00017 }
00018 #endif /* ACE_HAS_WCHAR */
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 /* ACE_LACKS_FGETWC */
00084 }
00085 #endif /* ACE_HAS_WCHAR */
00086 
00087 ACE_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 09:41:58 2006 for ACE by doxygen 1.3.6