| /* |
| * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY |
| * Main driver |
| */ |
| |
| |
| #define TST_FUNCTION_CALL(func) _TST_FUNCTION_CALL(func) |
| #define _TST_FUNCTION_CALL(func) tst ##_## func |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <locale.h> |
| #include <errno.h> |
| #include <signal.h> |
| |
| #include "tst_types.h" |
| #include "tgn_locdef.h" |
| |
| |
| int |
| main (int argc, char *argv[]) |
| { |
| int ret; |
| int debug; |
| |
| debug = argc > 1 ? atoi (argv[1]) : 0; |
| |
| if (debug) |
| { |
| fprintf (stdout, "\nTST_MBWC ===> %s ...\n", argv[0]); |
| } |
| ret = TST_FUNCTION_CALL (TST_FUNCTION) (stdout, debug); |
| |
| return (ret != 0); |
| } |
| |
| #define MAX_RESULT_REC 132 |
| char result_rec[MAX_RESULT_REC]; |
| |
| |
| int |
| result (FILE * fp, char res, const char *func, const char *loc, int rec_no, |
| int seq_no, int case_no, const char *msg) |
| { |
| if (fp == NULL |
| || strlen (func) + strlen (loc) + strlen (msg) + 32 > MAX_RESULT_REC) |
| { |
| fprintf (stderr, |
| "Warning: result(): can't write the result: %s:%s:%d:%d:%s\n", |
| func, loc, rec_no, case_no, msg); |
| return 0; |
| } |
| |
| sprintf (result_rec, "%s:%s:%d:%d:%d:%c:%s\n", func, loc, rec_no, seq_no, |
| case_no, res, msg); |
| |
| if (fputs (result_rec, fp) == EOF) |
| { |
| return 0; |
| } |
| |
| return 1; |
| } |