1/*
2 TOWCTRANS: wint_t towctrans (wint_t wc, wctrans_t desc);
3*/
4
5#define TST_FUNCTION towctrans
6
7#include "tsp_common.c"
8#include "dat_towctrans.c"
9
10
11int
12tst_towctrans (FILE *fp, int debug_flg)
13{
14 TST_DECL_VARS (wint_t);
15 wint_t wc;
16 const char *ts;
17 wctrans_t wto;
18
19 TST_DO_TEST (towctrans)
20 {
21 TST_HEAD_LOCALE (towctrans, S_TOWCTRANS);
22 TST_DO_REC (towctrans)
23 {
24 TST_GET_ERRET (towctrans);
25 wc = TST_INPUT (towctrans).wc;
26 ts = TST_INPUT (towctrans).ts;
27
28 wto = wctrans (property: ts);
29
30 TST_CLEAR_ERRNO;
31 ret = towctrans (wc: wc, desc: wto);
32 TST_SAVE_ERRNO;
33
34 if (debug_flg)
35 {
36 fprintf (stdout, "towctrans() [ %s : %d ] ret = 0x%x\n",
37 locale, rec+1, ret);
38 fprintf (stdout, " errno = %d\n",
39 errno_save);
40 }
41
42 TST_IF_RETURN (S_TOWCTRANS)
43 {
44 if (ret != 0)
45 {
46 result (fp, C_SUCCESS, S_TOWCTRANS, loc: locale, rec_no: rec+1,
47 seq_no: seq_num+1, case_no: 3, MS_PASSED);
48 }
49 else
50 {
51 err_count++;
52 result (fp, C_FAILURE, S_TOWCTRANS, loc: locale, rec_no: rec+1,
53 seq_no: seq_num+1, case_no: 3,
54 msg: "the function returned 0, but should be non-zero");
55 }
56 }
57 }
58 }
59
60 return err_count;
61}
62

source code of glibc/localedata/tests-mbwc/tst_towctrans.c