Back to index

glibc  2.9
tst_wcschr.c
Go to the documentation of this file.
00001 /*
00002   WCSCHR: wchar_t *wcschr (wchar_t *ws, wchar_t wc);
00003 */
00004 
00005 #define TST_FUNCTION wcschr
00006 
00007 #include "tsp_common.c"
00008 #include "dat_wcschr.c"
00009 
00010 int
00011 tst_wcschr (FILE * fp, int debug_flg)
00012 {
00013   TST_DECL_VARS (wchar_t *);
00014   wchar_t *ws, wc;
00015 
00016   TST_DO_TEST (wcschr)
00017   {
00018     TST_HEAD_LOCALE (wcschr, S_WCSCHR);
00019     TST_DO_REC (wcschr)
00020     {
00021       TST_GET_ERRET (wcschr);
00022       ws = TST_INPUT (wcschr).ws;  /* external value: size WCSSIZE */
00023       wc = TST_INPUT (wcschr).wc;
00024       ret = wcschr (ws, wc);
00025 
00026       if (debug_flg)
00027        {
00028          if (ret)
00029            {
00030              fprintf (stderr, "wcschr: ret = 0x%lx\n",
00031                      (unsigned long int) *ret);
00032            }
00033          else
00034            {
00035              fprintf (stderr, "wcschr: ret = NULL pointer\n");
00036            }
00037        }
00038 
00039       TST_IF_RETURN (S_WCSCHR)
00040       {
00041        if (ret == NULL)
00042          {
00043            if (debug_flg)
00044              {
00045               fprintf (stderr, "*** Warning *** tst_wcschr: "
00046                       "set ret_flg=1 to check NULL return value\n");
00047              }
00048 
00049            warn_count++;
00050            Result (C_INVALID, S_WCSCHR, CASE_3, "(check the test data) "
00051                   "set ret_flg=1 to check NULL return value");
00052            continue;
00053          }
00054 
00055        if (*ret == wc)
00056          {
00057            Result (C_SUCCESS, S_WCSCHR, CASE_3, MS_PASSED);
00058          }
00059        else
00060          {
00061            err_count++;
00062            Result (C_FAILURE, S_WCSCHR, CASE_3,
00063                   "the returned address of the string seems to be wrong");
00064          }
00065       }
00066     }
00067   }
00068 
00069   return err_count;
00070 }