From 01c74bf2abb1d514cbc5b9b4774bbfb4e7ae1c66 Mon Sep 17 00:00:00 2001 From: deadwood Date: Sat, 16 Jul 2011 16:05:58 +0000 Subject: [PATCH] Enhance sscanf test with complete/not complete hex values. git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40177 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- test/clib/sscanf.c | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/test/clib/sscanf.c b/test/clib/sscanf.c index bbeb5d63e8..f8d77c903b 100644 --- a/test/clib/sscanf.c +++ b/test/clib/sscanf.c @@ -6,16 +6,47 @@ int main(void) { char s[10]; - static char text[] = "1.3 1 string"; + static char text1[] = "1.3 1 string"; + static char text2[] = "NO_NUMBERS_TEXT"; + static char text3[] = "FSOMETHING"; + static char text4[] = "0xAF"; /* Hex integer */ + static char text5[] = "xAF"; /* "Hex integer" without 0 */ + static char text6[] = "AF"; /* "Hex integer" without 0x */ int i, cnt; float f; - cnt = sscanf(text, "%f %d %s", &f, &i, s); + cnt = sscanf(text1, "%f %d %s", &f, &i, s); TEST(cnt == 3); - TEST(f == 1.3); + TEST(f == 1.3f); TEST(i == 1); TEST(strcmp(s, "string") == 0); + i = 123456; + cnt = sscanf(text2, "%i", &i); + TEST(cnt == 0); + TEST(i == 123456); + + i = 123456; + cnt = sscanf(text3, "%i", &i); + TEST(cnt == 0); + TEST(i == 123456); + + i = 123456; + cnt = sscanf(text4, "%i", &i); + TEST(cnt == 1); + TEST(i == 0xAF); + + i = 123456; + cnt = sscanf(text5, "%i", &i); + TEST(cnt == 0); + TEST(i == 123456); + + i = 123456; + cnt = sscanf(text6, "%i", &i); + TEST(cnt == 0); + TEST(i == 123456); + + return 0; } -- 2.11.4.GIT