1 #include "config.h" 2 #include <string.h> 3 #include <orbit/orbit.h> 4 5 CORBA_char * CORBA_string_alloc(CORBA_unsigned_long len)6CORBA_string_alloc (CORBA_unsigned_long len) 7 { 8 return ORBit_alloc_string (len + 1); 9 } 10 11 CORBA_char * CORBA_string_dup(const CORBA_char * str)12CORBA_string_dup (const CORBA_char *str) 13 { 14 CORBA_char *retval; 15 CORBA_unsigned_long len; 16 17 if (!str) 18 return NULL; 19 20 len = strlen (str) + 1; 21 22 retval = ORBit_alloc_string (len); 23 memcpy (retval, str, len); 24 25 return retval; 26 } 27 28 CORBA_wchar * CORBA_wstring_alloc(CORBA_unsigned_long len)29CORBA_wstring_alloc (CORBA_unsigned_long len) 30 { 31 return ORBit_alloc_simple ((len + 1) * 2); 32 } 33 34 CORBA_unsigned_long CORBA_wstring_len(CORBA_wchar * ws)35CORBA_wstring_len (CORBA_wchar *ws) 36 { 37 int i; 38 39 for (i = 0; ws [i]; i++) 40 ; /**/ 41 42 return i; 43 } 44 45 CORBA_wchar * CORBA_wstring_dup(const CORBA_wchar * str)46CORBA_wstring_dup (const CORBA_wchar *str) 47 { 48 CORBA_wchar *retval; 49 CORBA_unsigned_long len; 50 51 if (!str) 52 return NULL; 53 54 len = CORBA_wstring_len (str); 55 56 retval = CORBA_wstring_alloc (len); 57 memcpy (retval, str, (len + 1) * 2); 58 59 return retval; 60 } 61