2000-06-27 12:14:09 +00:00
|
|
|
/*
|
|
|
|
* 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);
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
result (FILE * fp, char res, const char *func, const char *loc, int rec_no,
|
|
|
|
int seq_no, int case_no, const char *msg)
|
|
|
|
{
|
tests-mbwc: Silence gcc 14 -Werror=format-overflow=
With gcc 14, I get this warning/werror when building the localedata tests:
tests-mbwc/tsp_common.c: In function ‘result.constprop.isra’:
tests-mbwc/tsp_common.c:55:43: error: ‘%s’ directive writing up to 92 bytes into a region of size between 0 and 114 [-Werror=format-overflow=]
55 | sprintf (result_rec, "%s:%s:%d:%d:%d:%c:%s\n", func, loc, rec_no, seq_no,
| ^~
In file included from ../include/bits/stdio2.h:1,
from ../libio/stdio.h:980,
from ../include/stdio.h:14,
from tests-mbwc/tsp_common.c:10:
In function ‘sprintf’,
inlined from ‘result.constprop.isra’ at tests-mbwc/tsp_common.c:55:3:
../libio/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 20 and 234 bytes into a destination of size 132
30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
This patch now gets rid of using sprintf and the result_rec buffer and just
prints to fp directly.
2024-06-27 11:42:37 +00:00
|
|
|
if (fp == NULL)
|
|
|
|
fp = stderr;
|
2000-06-27 12:14:09 +00:00
|
|
|
|
tests-mbwc: Silence gcc 14 -Werror=format-overflow=
With gcc 14, I get this warning/werror when building the localedata tests:
tests-mbwc/tsp_common.c: In function ‘result.constprop.isra’:
tests-mbwc/tsp_common.c:55:43: error: ‘%s’ directive writing up to 92 bytes into a region of size between 0 and 114 [-Werror=format-overflow=]
55 | sprintf (result_rec, "%s:%s:%d:%d:%d:%c:%s\n", func, loc, rec_no, seq_no,
| ^~
In file included from ../include/bits/stdio2.h:1,
from ../libio/stdio.h:980,
from ../include/stdio.h:14,
from tests-mbwc/tsp_common.c:10:
In function ‘sprintf’,
inlined from ‘result.constprop.isra’ at tests-mbwc/tsp_common.c:55:3:
../libio/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 20 and 234 bytes into a destination of size 132
30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
This patch now gets rid of using sprintf and the result_rec buffer and just
prints to fp directly.
2024-06-27 11:42:37 +00:00
|
|
|
if (fprintf (fp, "%s:%s:%d:%d:%d:%c:%s\n", func, loc, rec_no, seq_no,
|
|
|
|
case_no, res, msg) == EOF)
|
|
|
|
return 0;
|
2000-06-27 12:14:09 +00:00
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|