diff options
author | Petr Machata <pmachata@redhat.com> | 2013-11-11 02:24:42 +0100 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-08-22 20:38:23 +0900 |
commit | e6c25f6799825812e2b87990333c649ba796f600 (patch) | |
tree | 8d68002e600f53c912433310ced3b13fb2883b95 /etc | |
parent | f292cf4e52c73fcc3b63ba2b032d17822f63e6e8 (diff) | |
download | ltrace-e6c25f6799825812e2b87990333c649ba796f600.tar.gz ltrace-e6c25f6799825812e2b87990333c649ba796f600.tar.bz2 ltrace-e6c25f6799825812e2b87990333c649ba796f600.zip |
Support wide character strings
- "string" lens and "format" pack were extended such that using an
integer as underlying array type denotes a wide character string.
- several prototypes from wchar.h were added to libc.so.conf.
- ltrace.conf.5 was updated
Diffstat (limited to 'etc')
-rw-r--r-- | etc/libc.so.conf | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/etc/libc.so.conf b/etc/libc.so.conf index efa1b95..fa95887 100644 --- a/etc/libc.so.conf +++ b/etc/libc.so.conf @@ -43,6 +43,7 @@ string tgoto(string, int, int); # POSIX always uses pointer to the structure, so it's fine. typedef DIR = struct(int); +typedef FILE = addr; # XXX We can't represent the following portably without having either # uulong, or directly uint64_t.' @@ -400,7 +401,36 @@ addr getutent(); void setutent(); # wchar.h -int fwide(addr, int); +typedef wchar_t = string(uint); +typedef wint_t = string(int); +typedef wstring_t = string(array(uint, zero)*); + +int fwide(FILE*, int); +wint_t btowc(int); +wint_t fgetwc(FILE*); +wstring_t fgetws(+string(array(uint, zero(arg2))*), int, FILE*); +wint_t fputwc(wchar_t, FILE*); +int fputws(wstring_t, FILE*); +int fwprintf(FILE*, format(wstring_t)); +; int fwscanf(FILE *restrict, const wchar_t *restrict, ...); +wint_t getwc(FILE *); +wint_t getwchar(); +int iswalnum(wint_t); +int iswalpha(wint_t); +int iswcntrl(wint_t); +; int iswctype(wint_t, wctype_t); +int iswdigit(wint_t); +int iswgraph(wint_t); +int iswlower(wint_t); +int iswprint(wint_t); +int iswpunct(wint_t); +int iswspace(wint_t); +int iswupper(wint_t); +int iswxdigit(wint_t); +ulong mbrlen(string, ulong, addr); +ulong mbrtowc(+wchar_t*, string[arg3], ulong, addr); +int mbsinit(addr); +ulong mbsrtowcs(+string(array(uint, zero(arg3))), string*, ulong, addr); # sys/wait.h int wait(addr); |