sribee8 a653934b58
[libc] Reland wchar string conversion mb to wc (#151048)
Added crash on nullptr to mbstowcs

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-29 16:34:10 +00:00

358 lines
7.5 KiB
YAML

header: wchar.h
header_template: wchar.h.def
macros:
- macro_name: NULL
macro_header: null-macro.h
types:
- type_name: size_t
- type_name: wint_t
- type_name: wchar_t
- type_name: mbstate_t
enums: []
objects: []
functions:
- name: wcslen
standards:
- stdc
return_type: size_t
arguments:
- type: const wchar_t *
- name: wcsnlen
standards:
- stdc
return_type: size_t
arguments:
- type: const wchar_t *
- type: size_t
- name: wctob
standards:
- stdc
return_type: int
arguments:
- type: wint_t
- name: btowc
standards:
- stdc
return_type: wint_t
arguments:
- type: int
- name: mbrtowc
standards:
- stdc
return_type: size_t
arguments:
- type: wchar_t *__restrict
- type: const char *__restrict
- type: size_t
- type: mbstate_t *__restrict
- name: mbtowc
standards:
- stdc
return_type: int
arguments:
- type: wchar_t *__restrict
- type: const char *__restrict
- type: size_t
- name: mbsnrtowcs
standards:
- stdc
return_type: size_t
arguments:
- type: wchar_t *__restrict
- type: const char **__restrict
- type: size_t
- type: size_t
- type: mbstate_t *__restrict
- name: mbsrtowcs
standards:
- stdc
return_type: size_t
arguments:
- type: wchar_t *__restrict
- type: const char **__restrict
- type: size_t
- type: mbstate_t *__restrict
- name: mbstowcs
standards:
- stdc
return_type: size_t
arguments:
- type: wchar_t *__restrict
- type: const char *__restrict
- type: size_t
- name: mbsinit
standards:
- stdc
return_type: int
arguments:
- type: mbstate_t *
- name: mblen
standards:
- stdc
return_type: int
arguments:
- type: const char *
- type: size_t
- name: mbrlen
standards:
- stdc
return_type: size_t
arguments:
- type: const char *__restrict
- type: size_t
- type: mbstate_t *__restrict
- name: wmemset
standards:
- stdc
return_type: wchar_t*
arguments:
- type: wchar_t*
- type: wchar_t
- type: size_t
- name: wcschr
standards:
- stdc
return_type: const wchar_t *
arguments:
- type: const wchar_t *
- type: wchar_t
- name: wcsncmp
standards:
- stdc
return_type: int
arguments:
- type: const wchar_t *
- type: const wchar_t *
- type: size_t
- name: wcscmp
standards:
- stdc
return_type: int
arguments:
- type: const wchar_t *
- type: const wchar_t *
- name: wcspbrk
standards:
- stdc
return_type: const wchar_t *
arguments:
- type: const wchar_t *
- type: const wchar_t *
- name: wcsrchr
standards:
- stdc
return_type: const wchar_t *
arguments:
- type: const wchar_t *
- type: wchar_t
- name: wcsspn
standards:
- stdc
return_type: size_t
arguments:
- type: const wchar_t *
- type: const wchar_t *
- name: wcscspn
standards:
- stdc
return_type: size_t
arguments:
- type: const wchar_t *
- type: const wchar_t *
- name: wmemcmp
standards:
- stdc
return_type: int
arguments:
- type: const wchar_t *
- type: const wchar_t *
- type: size_t
- name: wmemchr
standards:
- stdc
return_type: const wchar_t *
arguments:
- type: const wchar_t *
- type: wchar_t
- type: size_t
- name: wmempcpy
standards:
- gnu
return_type: wchar_t *
arguments:
- type: wchar_t *
- type: const wchar_t *
- type: size_t
- name: wmemcpy
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wmemmove
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *
- type: const wchar_t *
- type: size_t
- name: wcsncpy
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wcscat
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- name: wcslcat
standards:
- stdc
return_type: size_t
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wcsstr
standards:
- stdc
return_type: const wchar_t *
arguments:
- type: const wchar_t *
- type: const wchar_t *
- name: wcsncat
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wcsnrtombs
standards:
- stdc
return_type: size_t
arguments:
- type: char *__restrict
- type: const wchar_t **__restrict
- type: size_t
- type: size_t
- type: mbstate_t
- name: wcsrtombs
standards:
- stdc
return_type: size_t
arguments:
- type: char *__restrict
- type: const wchar_t **__restrict
- type: size_t
- type: mbstate_t
- name: wcrtomb
standards:
- stdc
return_type: size_t
arguments:
- type: char *__restrict
- type: wchar_t
- type: mbstate_t *__restrict
- name: wctomb
standards:
- stdc
return_type: int
arguments:
- type: char *
- type: wchar_t
- name: wcscpy
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- name: wcsdup
standards:
- stdc
return_type: wchar_t *
arguments:
- type: const wchar_t *
- name: wcslcpy
standards:
- stdc
return_type: size_t
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wcstok
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: wchar_t** __restrict
- name: wcpcpy
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- name: wcpncpy
standards:
- stdc
return_type: wchar_t *
arguments:
- type: wchar_t *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wcstol
standards:
- stdc
return_type: long
arguments:
- type: const wchar_t *__restrict
- type: wchar_t **__restrict
- type: int
- name: wcstoll
standards:
- stdc
return_type: long long
arguments:
- type: const wchar_t *__restrict
- type: wchar_t **__restrict
- type: int
- name: wcstombs
standards:
- stdc
return_type: size_t
arguments:
- type: char *__restrict
- type: const wchar_t *__restrict
- type: size_t
- name: wcstoul
standards:
- stdc
return_type: unsigned long
arguments:
- type: const wchar_t *__restrict
- type: wchar_t **__restrict
- type: int
- name: wcstoull
standards:
- stdc
return_type: unsigned long long
arguments:
- type: const wchar_t *__restrict
- type: wchar_t **__restrict
- type: int