diff options
author | Dan Bornstein <danfuzz@android.com> | 2009-11-10 12:15:33 -0800 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2010-03-03 10:25:29 -0800 |
commit | fd5b1bb85d0a971fd8469112a157380c4d3a146f (patch) | |
tree | e11bd80576f8ee1625f13d4a81808621e9dde557 | |
parent | ca07064c9ebd8523ed88fa09e97feaaafb7e9c15 (diff) | |
download | bionic-fd5b1bb85d0a971fd8469112a157380c4d3a146f.zip bionic-fd5b1bb85d0a971fd8469112a157380c4d3a146f.tar.gz bionic-fd5b1bb85d0a971fd8469112a157380c4d3a146f.tar.bz2 |
Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.
As with the other wchar functions in Bionic, these are really
minimally functional stubs.
-rw-r--r-- | libc/include/wchar.h | 2 | ||||
-rw-r--r-- | libc/stdlib/wchar.c | 10 |
2 files changed, 12 insertions, 0 deletions
diff --git a/libc/include/wchar.h b/libc/include/wchar.h index e2feb60..97e1b5c 100644 --- a/libc/include/wchar.h +++ b/libc/include/wchar.h @@ -100,6 +100,7 @@ extern int mbsinit(const mbstate_t *); extern size_t mbrlen(const char *, size_t, mbstate_t *); extern size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *); extern size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *); +extern size_t mbstowcs(wchar_t *, const char *, size_t); extern wint_t putwc(wchar_t, FILE *); extern wint_t putwchar(wchar_t); extern int swprintf(wchar_t *, size_t, const wchar_t *, ...); @@ -130,6 +131,7 @@ extern wchar_t *wcsstr(const wchar_t *, const wchar_t *); extern double wcstod(const wchar_t *, wchar_t **); extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **); extern long int wcstol(const wchar_t *, wchar_t **, int); +extern size_t wcstombs(char *, const wchar_t *, size_t); extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int); extern wchar_t *wcswcs(const wchar_t *, const wchar_t *); extern int wcswidth(const wchar_t *, size_t); diff --git a/libc/stdlib/wchar.c b/libc/stdlib/wchar.c index d805333..7722b34 100644 --- a/libc/stdlib/wchar.c +++ b/libc/stdlib/wchar.c @@ -227,6 +227,11 @@ size_t mbsrtowcs(wchar_t *dst, const char **src, size_t len, mbstate_t *ps) return len; } +size_t mbstowcs(wchar_t *dst, const char *src, size_t len) +{ + return mbsrtowcs(dst, &src, len, NULL); +} + wint_t putwc(wchar_t wc, FILE *stream) { return fputc((char)wc, stream); @@ -339,6 +344,11 @@ size_t wcsrtombs(char *dst, const wchar_t **src, size_t len, mbstate_t *ps) return len; } +size_t wcstombs(char *dst, const wchar_t *src, size_t len) +{ + return wcsrtombs(dst, &src, len, NULL); +} + size_t wcsspn(const wchar_t *ws1, const wchar_t *ws2) { return strspn( (const char*)ws1, (const char*)ws2 ); |