diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-05-21 22:12:05 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-05-21 22:12:05 +0000 |
commit | dc62ab8b321f424bcf2fc5f763ada9d9cca063ba (patch) | |
tree | 59a802316709e693e05416447691b9c8bb1123b6 | |
parent | 3d0d0259f7c208c03fa9780d4d00397a339402fb (diff) | |
download | ATCD-dc62ab8b321f424bcf2fc5f763ada9d9cca063ba.tar.gz |
Added strrchr and strchr implementations for CE.
-rw-r--r-- | ace/OS.i | 30 |
1 files changed, 27 insertions, 3 deletions
@@ -1252,7 +1252,7 @@ ACE_OS::strrchr (char *s, int c) p--; return p; -#endif /* ACE_HAS_WINCE */ +#endif /* ACE_LACKS_STRRCHR */ } ACE_INLINE const char * @@ -1271,7 +1271,7 @@ ACE_OS::strrchr (const char *s, int c) p--; return p; -#endif /* ACE_HAS_WINCE */ +#endif /* ACE_LACKS_STRRCHR */ } ACE_INLINE int @@ -8587,7 +8587,19 @@ ACE_INLINE const wchar_t * ACE_OS::strrchr (const wchar_t *s, wint_t c) { // ACE_TRACE ("ACE_OS::strrchr"); +#if !defined (ACE_HAS_WINCE) return (const wchar_t *) ::wcsrchr (s, c); +#else + const wchar_t *p = s + ::wcslen (s); + + while (*p != c) + if (p == s) + return 0; + else + p--; + + return p; +#endif /* ACE_HAS_WINCE */ } ACE_INLINE wchar_t * @@ -8607,7 +8619,19 @@ ACE_INLINE wchar_t * ACE_OS::strrchr (wchar_t *s, wint_t c) { // ACE_TRACE ("ACE_OS::strrchr"); - return ::wcsrchr (s, c); +#if !defined (ACE_HAS_WINCE) + return (const wchar_t *) ::wcsrchr (s, c); +#else + wchar_t *p = s + ::wcslen (s); + + while (*p != c) + if (p == s) + return 0; + else + p--; + + return p; +#endif /* ACE_HAS_WINCE */ } ACE_INLINE int |