Contiki 2.6
|
00001 #include <reent.h> 00002 #include <wchar.h> 00003 #include <stdlib.h> 00004 #include <stdio.h> 00005 #include <errno.h> 00006 00007 #if defined( _SMALL_PRINTF ) || defined(SMALL_SCANF) 00008 #define _ASCII_CAR 00009 #endif 00010 00011 size_t 00012 _DEFUN (_wcrtomb_r, (ptr, s, wc, ps), 00013 struct _reent *ptr _AND 00014 char *s _AND 00015 wchar_t wc _AND 00016 mbstate_t *ps) 00017 { 00018 00019 #ifndef _ASCII_CAR 00020 int retval = 0; 00021 char buf[10]; 00022 00023 00024 #ifdef MB_CAPABLE 00025 if (ps == NULL) 00026 { 00027 _REENT_CHECK_MISC(ptr); 00028 ps = &(_REENT_WCRTOMB_STATE(ptr)); 00029 } 00030 #endif 00031 00032 if (s == NULL) 00033 retval = _wctomb_r (ptr, buf, L'\0', ps); 00034 else 00035 retval = _wctomb_r (ptr, s, wc, ps); 00036 00037 if (retval == -1) 00038 { 00039 ps->__count = 0; 00040 ptr->_errno = EILSEQ; 00041 return (size_t)(-1); 00042 } 00043 else 00044 return (size_t)retval; 00045 #endif 00046 int retval = 1 ; 00047 return (size_t)retval; 00048 } 00049 00050 #ifndef _REENT_ONLY 00051 size_t 00052 _DEFUN (wcrtomb, (s, wc, ps), 00053 char *s _AND 00054 wchar_t wc _AND 00055 mbstate_t *ps) 00056 { 00057 return _wcrtomb_r (_REENT, s, wc, ps); 00058 } 00059 #endif /* !_REENT_ONLY */