| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 | /* *  TEST SUITE FOR MB/WC FUNCTIONS IN CLIBRARY * *	 FILE:	dat_swscanf.c * *	 SWSCANF:  int	swscanf (const wchar_t *s, const wchar_t *fmt, ...); */#include <errno.h>#include <stdlib.h>#include "tst_types.h"#include "tgn_locdef.h"TST_SWSCANF tst_swscanf_loc [] ={  {    { Tswscanf, TST_LOC_de },    {      /*------------------------ 01 -----------------------*/      { { {	0x002D, 0x0031,		0x003A,	   /* %d: -1   */	0x0032,			0x003A,	   /* %u:  2   */	0x0033, 0x002C, 0x0033, 0x003A,	   /* %f:  3.3 */	0x00E4,			0x003A,	   /* %c: 'ä'  */	0x00C4, 0x00DC, 0x0000, 0x0000,	   /* %s: "ÄÜ" */      },	  L"%d:%u:%f:%c:%s", 0      },	{ /* The fields are: err_val, ret_flag, ret_val,	     val_int, val_uns, val_flt, val_c, val_s, val_S.  */	  0,1,5,	  -1, 2, 3.3, 'ä', "ÄÜ", { 0x0000, },	},      },      /*------------------------ 02 -----------------------*/      { { {	0x00E4, 0x00C4, 0x0000		       /* "äÄ" */      },	  L"%lc", 'C'      },	{ 0,1,1,	  0,0,0,0,"", { 0x00E4, 0x0000 },	},      },      /*------------------------ 03 -----------------------*/      { { {	0x00E4, 0x00C4, 0x0000		       /* "äÄ" */      },	  L"%ls", 'S'      },	{ 0,1,1,	  0,0,0,0,"", { 0x00E4, 0x00C4, 0x0000 },	},      },      /*------------------------ 04 -----------------------*/      /* <NO_WAIVER> x 2 */      { { {	0x00E4, 0x00C4, 0x0000		       /* "äÄ" */      },	  L"1%d:2%d:3%d:4%d:5%d:6%d:7%d:8%d:9%d", 0      },#ifdef SHOJI_IS_RIGHT	{ 1,EINVAL,1,WEOF,	  0,0,0,0,"", { 0x0000 },#else	{ 0,1,0,	  0,0,0,0,"", { 0x0000 },#endif	},      },      /*---------------------------------------------------*/      { .is_last = 1}	/* Last element.  */    }  },  {    { Tswscanf, TST_LOC_enUS },    {      /*------------------------ 01 -----------------------*/      { { { 0x002D, 0x0031,					    0x003A,	    0x0032,						    0x003A,	    0x0035, 0x0034, 0x002E, 0x0033, 0x0045, 0x002D, 0x0031, 0x003A,	    0x0041,						    0x003A,	    0x0061, 0x0062, 0x0000,				    0x0000,      },	  L"%d:%u:%f:%c:%s", 0      },	{ 0,1,5,	  -1, 2, 5.43, 'A', "ab", { 0x0000 },	},      },      /*------------------------ 02 -----------------------*/      /* <NO_WAIVER> x 2 */      { { {	0x0063, 0x0064, 0x0000      },	  L"%C", 'C'      },	{ 0,1,1,	  0,0,0,0,"", { 0x0063, 0x0000 },	},      },      /*------------------------ 03 -----------------------*/      { { {	0x0063, 0x0064, 0x0000      },	  L"%S", 'S'      },	{ 0,1,1,	  0,0,0,0,"", { 0x0063, 0x0064, 0x0000 },	},      },      /*---------------------------------------------------*/      { .is_last = 1}	/* Last element.  */    }  },  {#if 0    { Tswscanf, TST_LOC_eucJP },#else    { Tswscanf, TST_LOC_ja_UTF8 },#endif    {      /*------------------------ 01 -----------------------*/      { { { 0x002D, 0x0031,	    0x003A,	    0x0032,		    0x003A,	    0x0033, 0x002E, 0x0033, 0x003A,	    0x0062,		    0x003A,	    0x0061, 0x0062, 0x0000, 0x0000,      },	  L"%d:%u:%f:%c:%s", 0      },	{ 0,1,5,	  -1, 2, 3.3, 'b', "ab", { 0x0000 }	},      },      /*------------------------ 02 -----------------------*/      { { {	0x30A2, 0x30A4, 0x0000      },	  L"%ls", 'S'      },	{ 0,1,1,	  0,0,0,0,"", { 0x30A2, 0x30A4, 0x0000 }	},      },      /*------------------------ 03 -----------------------*/      { { {	0x0031,			0x003A,	0x0030,			0x003A,	0x0033, 0x002E, 0x0039, 0x003A,	0x0061,			0x003A,	0x0063, 0x0064, 0x0000, 0x0000,      },	  L"%2$d:%1$u:%3$f:%4$c:%5$s", 0      },	{ 0,1,5,	  0, 1, 3.9, 'a', "cd", { 0x0000 }	},      },#ifdef SHOJI_IS_RIGHT      /* XXX This test does not make sense.  The format string is	 L"\x1\x2\x25\x53" and it is supposed to match the words	 0x30A2, 0x30A4, 0x0001.  */      /*------------------------ 04 -----------------------*/      /* <NO_WAIVER> x 2 */      { { {	0x30A2, 0x30A4, 0x0001, 0x0000      },	  { 0x0001,0x0002,0x0025,0x0053,0x0000 }, 'S'      },	{ EILSEQ,1,EOF,	  0,0,0,0,"", { 0x0000 }	},      },#endif      /*---------------------------------------------------*/      { .is_last = 1}	/* Last element.  */    }  },  {    { Tswscanf, TST_LOC_end }  }};
 |