Test for MSVCRT_scanf %n

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Sun Oct 5 10:05:10 CDT 2003


Changelog
	dlls/msvcrt/tests/scanf.c
	Add test for %n
-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Index: wine/dlls/msvcrt/tests/scanf.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/tests/scanf.c,v
retrieving revision 1.6
diff -u -r1.6 scanf.c
--- wine/dlls/msvcrt/tests/scanf.c	25 Sep 2003 20:29:41 -0000	1.6
+++ wine/dlls/msvcrt/tests/scanf.c	5 Oct 2003 15:00:04 -0000
@@ -29,8 +29,10 @@
     int result, ret;
     float res1= -82.6267f, res2= 27.76f, res11, res12;
     char pname[]=" St. Petersburg, Florida\n";
-    
+    int hour=21,min=59,sec=20;
+    int  number,number_so_far;
 
+    
     /* check EOF */
     strcpy(buffer,"");
     ret = sscanf(buffer, "%d", &result);
@@ -61,9 +63,17 @@
     ok( (res11 == res1) && (res12 == res2), "Error reading floats");
     ret = sprintf(buffer," %s", pname);
     ret = sscanf(buffer,"%*c%[^\n]",buffer1);
-    ok( ret = 1, "Error with format \"%s\"","%*c%[^\n]");
+    ok( ret == 1, "Error with format \"%s\"","%*c%[^\n]");
     ok( strncmp(pname,buffer1,strlen(buffer1)) == 0, "Error with \"%s\" \"%s\"",pname, buffer1);
-    
+    ret = sprintf(buffer,"%d:%d:%d",hour,min,sec);
+    ret = sscanf(buffer,"%d%n",&number,&number_so_far);
+    ok(ret == 1 , "problem with format arg \"%%d%%n\"");
+    ok(number == hour,"Read wrong arg %d instead of %d",number, hour);
+    ok(number_so_far == 2,"Read wrong arg for \"%%n\" %d instead of 2",number_so_far);
+    ret = sscanf(buffer+2,"%*c%n",&number_so_far,&number);
+    ok(ret == 0 , "problem with format arg \"%%*c%%n\"");
+    ok(number == hour,"Read wrong arg %d instead of %d",number, hour);
+    ok(number_so_far == 1,"Read wrong arg for \"%%n\" %d instead of 2",number_so_far);
 }
 
 



More information about the wine-patches mailing list