diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-02-14 21:04:47 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-02-14 21:04:47 +0000 |
commit | c672d0e3ecea6fe784250b5099f8126c0ff18ad1 (patch) | |
tree | 6540b7d4175fe7f2648270329345c2f50ff91be9 /pjlib/include/pj/compat | |
parent | cec9d0501ccdf37cb82e398df6ec4e5bd4e1ac01 (diff) |
Changed the unicode string API and ported to ARM/WinCE
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@182 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/include/pj/compat')
-rw-r--r-- | pjlib/include/pj/compat/m_armv4.h (renamed from pjlib/include/pj/compat/m_arm.h) | 10 | ||||
-rw-r--r-- | pjlib/include/pj/compat/socket.h | 3 | ||||
-rw-r--r-- | pjlib/include/pj/compat/string.h | 81 |
3 files changed, 78 insertions, 16 deletions
diff --git a/pjlib/include/pj/compat/m_arm.h b/pjlib/include/pj/compat/m_armv4.h index b81ce32c..e43d4156 100644 --- a/pjlib/include/pj/compat/m_arm.h +++ b/pjlib/include/pj/compat/m_armv4.h @@ -16,11 +16,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef __PJ_COMPAT_M_ARM_H__ -#define __PJ_COMPAT_M_ARM_H__ +#ifndef __PJ_COMPAT_M_ARMV4_H__ +#define __PJ_COMPAT_M_ARMV4_H__ /** - * @file m_arm.h + * @file m_armv4.h * @brief Describes ARM family processor specifics. */ @@ -28,11 +28,11 @@ * This file covers PJ_M_ARMV4 etc. */ -#define PJ_M_NAME "ARM" +#define PJ_M_NAME "armv4" #define PJ_HAS_PENTIUM 0 #define PJ_IS_LITTLE_ENDIAN 1 #define PJ_IS_BIG_ENDIAN 0 -#endif /* __PJ_COMPAT_M_ARM_H__ */ +#endif /* __PJ_COMPAT_M_ARMV4_H__ */ diff --git a/pjlib/include/pj/compat/socket.h b/pjlib/include/pj/compat/socket.h index ee4f3a6e..e3f68b5d 100644 --- a/pjlib/include/pj/compat/socket.h +++ b/pjlib/include/pj/compat/socket.h @@ -76,7 +76,8 @@ /* * Define common errors. */ -#ifdef PJ_WIN32 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) # define OSERR_EWOULDBLOCK WSAEWOULDBLOCK # define OSERR_EINPROGRESS WSAEINPROGRESS # define OSERR_ECONNRESET WSAECONNRESET diff --git a/pjlib/include/pj/compat/string.h b/pjlib/include/pj/compat/string.h index fd041230..8fd45286 100644 --- a/pjlib/include/pj/compat/string.h +++ b/pjlib/include/pj/compat/string.h @@ -24,6 +24,16 @@ * @brief Provides string manipulation functions found in ANSI string.h. */ +/** + * Native char type, which will be equal to wchar_t for Unicode + * and char for ANSI. + */ +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +typedef wchar_t pj_char_t; +#else +typedef char pj_char_t; +#endif + #if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H != 0 # include <string.h> #else @@ -41,21 +51,72 @@ # define strncasecmp strnicmp # endif # define snprintf _snprintf +# define wcsicmp _wcsicmp +# define wcsnicmp _wcsnicmp #else # define stricmp strcasecmp # define strnicmp strncasecmp + +# if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# error "Implement Unicode string functions" +# endif #endif -#define pj_native_strcmp strcmp -#define pj_native_strncmp strncmp -#define pj_native_strlen strlen -#define pj_native_strcpy strcpy -#define pj_native_strstr strstr -#define pj_native_strchr strchr -#define pj_native_strcasecmp strcasecmp -#define pj_native_stricmp strcasecmp -#define pj_native_strncasecmp strncasecmp -#define pj_native_strnicmp strncasecmp +#define pj_ansi_strcmp strcmp +#define pj_ansi_strncmp strncmp +#define pj_ansi_strlen strlen +#define pj_ansi_strcpy strcpy +#define pj_ansi_strcat strcat +#define pj_ansi_strstr strstr +#define pj_ansi_strchr strchr +#define pj_ansi_strcasecmp strcasecmp +#define pj_ansi_stricmp strcasecmp +#define pj_ansi_strncasecmp strncasecmp +#define pj_ansi_strnicmp strncasecmp +#define pj_ansi_sprintf sprintf + +#define pj_unicode_strcmp wcscmp +#define pj_unicode_strncmp wcsncmp +#define pj_unicode_strlen wcslen +#define pj_unicode_strcpy wcscpy +#define pj_unicode_strcat wcscat +#define pj_unicode_strstr wcsstr +#define pj_unicode_strchr wcschr +#define pj_unicode_strcasecmp wcsicmp +#define pj_unicode_stricmp wcsicmp +#define pj_unicode_strncasecmp wcsnicmp +#define pj_unicode_strnicmp wcsnicmp +#define pj_unicode_sprintf swprintf + + +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# define pj_native_strcmp pj_unicode_strcmp +# define pj_native_strncmp pj_unicode_strncmp +# define pj_native_strlen pj_unicode_strlen +# define pj_native_strcpy pj_unicode_strcpy +# define pj_native_strcat pj_unicode_strcat +# define pj_native_strstr pj_unicode_strstr +# define pj_native_strchr pj_unicode_strchr +# define pj_native_strcasecmp pj_unicode_strcasecmp +# define pj_native_stricmp pj_unicode_stricmp +# define pj_native_strncasecmp pj_unicode_strncasecmp +# define pj_native_strnicmp pj_unicode_strnicmp +# define pj_native_sprintf pj_unicode_sprintf +#else +# define pj_native_strcmp pj_ansi_strcmp +# define pj_native_strncmp pj_ansi_strncmp +# define pj_native_strlen pj_ansi_strlen +# define pj_native_strcpy pj_ansi_strcpy +# define pj_native_strcat pj_ansi_strcat +# define pj_native_strstr pj_ansi_strstr +# define pj_native_strchr pj_ansi_strchr +# define pj_native_strcasecmp pj_ansi_strcasecmp +# define pj_native_stricmp pj_ansi_stricmp +# define pj_native_strncasecmp pj_ansi_strncasecmp +# define pj_native_strnicmp pj_ansi_strnicmp +# define pj_native_sprintf pj_ansi_sprintf +#endif + #endif /* __PJ_COMPAT_STRING_H__ */ |