Buffer length fix, more trace info - dlls/kernel/tests/environ.c

Jakob Eriksson jakov at vmlinux.org
Tue Mar 15 10:58:00 CST 2005


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/expandenvironmentstrings.asp  
:

Quoting from page above:

"When using ANSI strings, the buffer size should be the string length, 
plus terminating null character, plus one."


Whe also need to know why it fails on Windows 98...

http://test.winehq.org/data/200503151000/98_jmelgarejo98casa/kernel32:environ.txt

so I added more output in the ok().



/Jakob

-------------- next part --------------
Index: dlls/kernel/tests/environ.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/tests/environ.c,v
retrieving revision 1.8
diff -u -r1.8 environ.c
--- dlls/kernel/tests/environ.c	10 Mar 2005 17:15:39 -0000	1.8
+++ dlls/kernel/tests/environ.c	15 Mar 2005 16:57:00 -0000
@@ -215,11 +215,14 @@
 {
     char buf[256], buf1[256];
     DWORD ret_size, ret_size1;
+    int error;
 
     ret_size1 = GetWindowsDirectoryA(buf1,256);
     ok ((ret_size1 >0) && (ret_size1<256), "GetWindowsDirectory Failed\n");
-    ret_size = ExpandEnvironmentStringsA("%SystemRoot%",buf,256);
-    ok(!strcmp(buf, buf1), "ExpandEnvironmentStrings failed %s vs %s\n", buf, buf1);
+    ret_size = ExpandEnvironmentStringsA("%SystemRoot%",buf,sizeof(buf)-2);
+    error = GetLastError();
+    ok(!strcmp(buf, buf1),
+       "ExpandEnvironmentStrings failed %s vs %s. GetLastError() == %d, ret_size = %d\n", buf, buf1, error, ret_size);
 }
   
 


More information about the wine-patches mailing list