diff options
Diffstat (limited to 'wcsmbs')
-rw-r--r-- | wcsmbs/Makefile | 2 | ||||
-rw-r--r-- | wcsmbs/tst-wcstof.c | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile index e39ba61684..985f5957f9 100644 --- a/wcsmbs/Makefile +++ b/wcsmbs/Makefile @@ -38,6 +38,8 @@ routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \ wcscoll_l wcsxfrm_l \ wcscasecmp wcsncase wcscasecmp_l wcsncase_l +tests := tst-wcstof + include ../Rules CFLAGS-wcwidth.c = -I../wctype diff --git a/wcsmbs/tst-wcstof.c b/wcsmbs/tst-wcstof.c new file mode 100644 index 0000000000..197cb5c770 --- /dev/null +++ b/wcsmbs/tst-wcstof.c @@ -0,0 +1,23 @@ +#define _GNU_SOURCE 1 +#include <wchar.h> +#include <stdio.h> +#include <string.h> +#include <wctype.h> + +int +main (void) +{ + int result = 0; + char buf[100]; + wchar_t tmp[3]; + tmp[0] = '8'; + tmp[1] = '1'; + tmp[2] = 0; + + snprintf (buf, 100, "%S = %f", tmp, wcstof (tmp, NULL)); + printf ("\"%s\" -> %s\n", buf, + strcmp (buf, "81 = 81.000000") == 0 ? "okay" : "buggy"); + result |= strcmp (buf, "81 = 81.000000") != 0; + + return result; +} |