| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | /*  MBRLEN: size_t mbrlen (char *s, size_t n, mbstate_t *ps)*/#define TST_FUNCTION mbrlen#include "tsp_common.c"#include "dat_mbrlen.c"inttst_mbrlen (FILE * fp, int debug_flg){  TST_DECL_VARS (size_t);  char s_flg;  const char *s_in;  size_t n;  char t_flg;  char t_ini;  static mbstate_t s = { 0 };  mbstate_t *ps;  TST_DO_TEST (mbrlen)  {    TST_HEAD_LOCALE (mbrlen, S_MBRLEN);    TST_DO_REC (mbrlen)    {      if (mbrlen (NULL, 0, &s) != 0)	{	  err_count++;	  Result (C_FAILURE, S_MBRLEN, CASE_3,		  "Initialization (external mbstate object) failed "		  "- skipped this test case.");	  continue;	}      TST_DO_SEQ (MBRLEN_SEQNUM)      {	TST_GET_ERRET_SEQ (mbrlen);	s_flg = TST_INPUT_SEQ (mbrlen).s_flg;	s_in = TST_INPUT_SEQ (mbrlen).s;	n = TST_INPUT_SEQ (mbrlen).n;	t_flg = TST_INPUT_SEQ (mbrlen).t_flg;	t_ini = TST_INPUT_SEQ (mbrlen).t_init;	if (s_flg == 0)	  {	    s_in = NULL;	  }	if (n == USE_MBCURMAX)	/* rewrite tst_mblen() like this */	  {	    n = MB_CUR_MAX;	  }	ps = (t_flg == 0) ? NULL : &s;	if (t_ini != 0)	  {	    memset (&s, 0, sizeof (s));	    mbrlen (NULL, 0, NULL);	  }	TST_CLEAR_ERRNO;	ret = mbrlen (s_in, n, ps);	TST_SAVE_ERRNO;	if (debug_flg)	  {	    fprintf (stdout, "mbrlen() [ %s : %d : %d ] ret = %zd\n",		     locale, rec + 1, seq_num + 1, ret);	    fprintf (stdout, "			   errno = %d\n", errno_save);	  }	TST_IF_RETURN (S_MBRLEN)	{	};      }    }  }  return err_count;}
 |