• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang %s -o %t && %run %t 2>&1
2 
3 #include <assert.h>
4 #include <stdlib.h>
5 #include <string.h>
6 #include <wchar.h>
7 
main(int argc,char ** argv)8 int main(int argc, char **argv) {
9   mbstate_t state;
10   memset(&state, 0, sizeof(state));
11 
12   char buff[10];
13   size_t res = wcrtomb(buff, L'a', &state);
14   assert(res == 1);
15   assert(buff[0] == 'a');
16 
17   res = wcrtomb(buff, L'\0', &state);
18   assert(res == 1);
19   assert(buff[0] == '\0');
20 
21   res = wcrtomb(NULL, L'\0', &state);
22   assert(res == 1);
23 
24   res = wcrtomb(buff, L'a', NULL);
25   assert(res == 1);
26   assert(buff[0] == 'a');
27 
28   res = wcrtomb(buff, L'\0', NULL);
29   assert(res == 1);
30   assert(buff[0] == '\0');
31 
32   res = wcrtomb(NULL, L'\0', NULL);
33   assert(res == 1);
34 
35   return 0;
36 }
37