Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
December 2002
- 132 participants
- 1012 messages
Re: Visual-MinGW: Winelib patch
by Dimitrie O. Paun
On December 31, 2002 03:43 pm, Manu wrote:
> > that Visual-MinGW should not depend on cygwin, no? If so, it makes
> > sense to make this explicit with -mno-cygwin.
>
> If MinGW doesn't complain, I agree.
It shouldn't, it's documented to do so, try it out.
> -fvtable-thunks is problematic. I use gcc version 2.95.3-6 (mingw special),
> (faster, smaller binaries) -fvtable-thunks is required with gcc 2,
> but gcc 3 outputs a warning.
> Any workaround?
The best thing would be to determine the version of gcc dynamically
in the makefile, like so:
GCC_VER_2 := 'gcc version 2.'
CFLAGS = -mno-cygwin -W -Wall -fno-exceptions -fno-rtti
ifeq ($(findstring $(GCC_VER_2), $(shell gcc -v)),$(GCC_VER_2))
CFLAGS += -fvtable-thunks
endif
ifeq ($(MAKECMDGOALS),debug)
CFLAGS += -g
else
CFLAGS += $(OPTIMIZ)
else
This would require GNU make, but your current makefile requires
GNU make anyway, so... In this case, it would be better to
rename makefile -> Makefile, it's more standard for GNU make files.
> Visual-MinGW generates the right makefile indeed, from user
> parameters in the ".prj" file. There is three possibilities:
>
> - makefile.wine
> - configure.in/Makefile.am > configure script.
> - modifying params in ".prj" files.
>
> I will change the parameters in ".prj" files, then generated
> makefiles should work for both MinGW and Wine.
> Though, I don't have a solution for -fvtable-thunks.
There shouldn't be a any need for modifying parameters in .prj files.
Look, what we can do is this:
ifdef WINE
CC = winegcc
CXX = winegcc -xc++
WRES = wrc
else
CC = g++
WRES = windres
endif
And then, to compile on Wine you just make sure you define WINE
before invoking make, like so:
WINE=1 make
or
make WINE=1
> About configuration files, I started a new project called
> MSYS Here, which is a MSYS loader. With it, MSYS can
> be launched from Windows Explorer, the same way than
> the "DOS Prompt Here" power toy.
Having a configure script can help, but let's get this one fixed
first. Once this works, we can look at the configuration stuff.
--
Dimi.
Dec. 31, 2002
Win2000 Conformance R3:
by Kye Lewis
Win2000 Conformance Tests Round 3:
dsound_test refused to run, complaining of a missing MSVCRTD.dll
shlwapi_test shreg gave what I consider to be a rather interesting string in it's error
Apart from that, a lot of things were just like WinXP, except for the advapi32_test registry.
=== advapi32_test ===
registry: 56 tests executed, 0 marked as todo, 0 failures.
=== dsound_test ===
"The dynamic link library MSVCRTD.dll could not be found in the specified path"
=== gdi32_test ===
generated: 2786 tests executed, 0 marked as todo, 0 failures.
=== kernel32_test ===
alloc: 58 tests executed, 0 marked as todo, 0 failures.
atom: 229398 tests executed, 0 marked as todo, 0 failures.
codepage: 2 tests executed, 0 marked as todo, 0 failures.
directory: 51 tests executed, 0 marked as todo, 0 failures.
drive: 160 tests executed, 0 marked as todo, 0 failures.
environ: 39 tests executed, 0 marked as todo, 0 failures.
file: 487239 tests executed, 0 marked as todo, 0 failures.
format_msg: 58 tests executed, 0 marked as todo, 0 failures.
generated: 609 tests executed, 0 marked as todo, 0 failures.
locale.c:154: Test failed: GetTimeFormat got '' instead of '4'
locale.c:155: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:181: Test failed: GetTimeFormat got '8.@:56AM' instead of '8.@:56.@:AM'
locale.c:182: Test failed: GetTimeFormat: got 9 instead of 12
locale.c:190: Test failed: GetTimeFormat got '' instead of '3'
locale.c:191: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:474: Test failed: GetDateFormat got '5/4/2002' instead of '5/4/02'
locale.c:475: Test failed: GetDateFormat: got 9 instead of 7
locale.c:499: Test failed: GetDateFormat check DATE_YEARMONTH with null format expected ERROR_INVALID_FLAGS got return of '10' and error of '0'
locale: 109 tests executed, 0 marked as todo, 9 failures.
path: 1730 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
process.c:378: Test failed: StartupInfoA:lpTitle expected kernel32_test.exe process, got C:\DOCUME~1\KYELEW~1\DESKTOP\WINETE~1\kernel32_test.exe
process.c:530: Test failed: StartupInfoA:lpTitle expected kernel32_test.exe process, got C:\DOCUME~1\KYELEW~1\DESKTOP\WINETE~1\kernel32_test.exe
process: 116 tests executed, 0 marked as todo, 2 failures.
thread: 112 tests executed, 0 marked as todo, 0 failures.
=== msvcrt_test ===
file: 2 tests executed, 0 marked as todo, 0 failures.
scanf: 8 tests executed, 0 marked as todo, 0 failures.
=== netapi32_test ===
access.c:110: Test failed: Bad Network Path: rc=0
access: 23 tests executed, 0 marked as todo, 1 failure.
apibuf: 15 tests executed, 0 marked as todo, 0 failures.
wksta: 14 tests executed, 0 marked as todo, 0 failures.
=== ntdll_test ===
error: 813 tests executed, 0 marked as todo, 0 failures.
rtlbitmap: 201 tests executed, 0 marked as todo, 0 failures.
rtlstr: 38 tests executed, 0 marked as todo, 0 failures.
=== oleaut32_test ===
safearray: 348 tests executed, 0 marked as todo, 0 failures.
vartest.c:1707:
======== Testing VarUI1FromXXX ========
vartest.c:1713:VarUI1FromI2: passing in NULL as return val makes it crash, need to write proper test.
vartest.c:1797:
======== Testing VarUI2FromXXX ========
vartest.c:1802:VarUI2FromI2: passing in NULL as return val makes it crash, needs to be fixed.
vartest.c:1873:
======== Testing VarUI4FromXXX ========
vartest.c:1876:VarUI4FromI2: passing in NULL as return val makes it crash, implement me.
vartest.c:1951:
======== Testing VarI1FromXXX ========
vartest.c:2004:
======== Testing VarI2FromXXX ========
vartest.c:2047:
======== Testing VarI4FromXXX ========
vartest.c:2091:
======== Testing VarR4FromXXX ========
vartest.c:2138:
======== Testing VarR8FromXXX ========
vartest.c:2158:
======== Testing VarDateFromXXX ========
vartest.c:2208: Test failed: VarDateFromStr([7]="0.49") got 0.0340278 instead of 0.034028
vartest.c:2208: Test failed: VarDateFromStr([8]="0.5") got 0.00347222 instead of 0.003472
vartest.c:2208: Test failed: VarDateFromStr([9]="0.51") got 0.0354167 instead of 0.035417
vartest.c:2208: Test failed: VarDateFromStr([34]=" 1 2 ") got 37653 instead of 35797
vartest.c:2215: Test failed: VarDateFromStr([35]="1,2,3") got 37653 instead of 37623
vartest.c:2215: Test failed: VarDateFromStr([36]="1 2 3") got 37653 instead of 37623
vartest.c:2215: Test failed: VarDateFromStr([37]="1,2, 3") got 37653 instead of 37623
vartest.c:2208: Test failed: VarDateFromStr([39]="1.2.3") got 0.0430903 instead of 0.04309
vartest.c:2208: Test failed: VarDateFromStr([69]=" 1999/ 11/21 11 :11:11am") got 36485.5 instead of 36485.5
vartest.c:2208: Test failed: VarDateFromStr([70]="11/11/1999 11:11:11Am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([71]="11/11/1999 11:11:11PM") got 36476 instead of 36476
vartest.c:2208: Test failed: VarDateFromStr([73]="11/11/1999 0:0:11am") got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([75]="11/11/1999 11:11:11am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([77]="11/11/1999 11:11AM") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([78]="11/11/1999 1AM") got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([80]="11/11/1999 11:11:11") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([89]="1 January 1999 11AM") got 36161.5 instead of 36161.5
vartest.c:2208: Test failed: VarDateFromStr([90]="4AM 11/11/1999") got 36475.2 instead of 36475.2
vartest.c:2208: Test failed: VarDateFromStr([109]="1.5") got 0.0451389 instead of 0.045139
vartest.c:2208: Test failed: VarDateFromStr([110]="2.5") got 0.0868056 instead of 0.086806
vartest.c:2208: Test failed: VarDateFromStr([111]="3.5") got 0.128472 instead of 0.128472
vartest.c:2208: Test failed: VarDateFromStr([112]="4.5") got 0.170139 instead of 0.170139
vartest.c:2223:
======== Testing VarBoolFromXXX ========
vartest.c:2283:
======== Testing VarBSTRFromXXX ========
vartest.c:2308: Test failed: d is 7.65432e+015, should be cvt. to 7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2315: Test failed: d is -7.65432e+015, should be cvt. to -7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2308: Test failed: d is 8.76543e+016, should be cvt. to 8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2315: Test failed: d is -8.76543e+016, should be cvt. to -8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2308: Test failed: d is 9.87654e+017, should be cvt. to 9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2315: Test failed: d is -9.87654e+017, should be cvt. to -9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2308: Test failed: d is 1.98765e+018, should be cvt. to 1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2315: Test failed: d is -1.98765e+018, should be cvt. to -1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2308: Test failed: d is 2.19877e+019, should be cvt. to 2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2315: Test failed: d is -2.19877e+019, should be cvt. to -2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2359: Test failed: d is 7.65432e+015, should be cvt. to 7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2365: Test failed: d is -7.65432e+015, should be cvt. to -7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2359: Test failed: d is 8.76543e+016, should be cvt. to 8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2365: Test failed: d is -8.76543e+016, should be cvt. to -8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2359: Test failed: d is 9.87654e+017, should be cvt. to 9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2365: Test failed: d is -9.87654e+017, should be cvt. to -9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2359: Test failed: d is 1.98765e+018, should be cvt. to 1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2365: Test failed: d is -1.98765e+018, should be cvt. to -1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2359: Test failed: d is 2.19877e+019, should be cvt. to 2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2365: Test failed: d is -2.19877e+019, should be cvt. to -2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2382: Test failed: d is 8.76543e+007, should be cvt. to 8.765432e+07, but return val is "8.765432E+07"
vartest.c:2388: Test failed: d is -8.76543e+007, should be cvt. to -8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2382: Test failed: d is 9.87654e+008, should be cvt. to 9.876543e+08, but return val is "9.876543E+08"
vartest.c:2388: Test failed: d is -9.87654e+008, should be cvt. to -9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2382: Test failed: d is 1.98765e+009, should be cvt. to 1.987654e+09, but return val is "1.987654E+09"
vartest.c:2388: Test failed: d is -1.98765e+009, should be cvt. to -1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2408: Test failed: d is 0.2345, should be cvt. to 0.2345001, but return val is "0.2345"
vartest.c:2432: Test failed: d is 654322, should be cvt. to 654322.2, but return val is "654322.3"
vartest.c:2438: Test failed: d is -654322, should be cvt. to -654322.2, but return val is "-654322.3"
vartest.c:2432: Test failed: d is 8.76543e+007, should be cvt. to 8.765432e+07, but return val is "8.765432E+07"
vartest.c:2438: Test failed: d is -8.76543e+007, should be cvt. to -8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2432: Test failed: d is 9.87654e+008, should be cvt. to 9.876543e+08, but return val is "9.876543E+08"
vartest.c:2438: Test failed: d is -9.87654e+008, should be cvt. to -9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2432: Test failed: d is 1.98765e+009, should be cvt. to 1.987654e+09, but return val is "1.987654E+09"
vartest.c:2438: Test failed: d is -1.98765e+009, should be cvt. to -1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2457: Test failed: should be '1/2/1900 8:09:36 AM', but is "2/01/1900 8:09:36 AM"
vartest.c:2463: Test failed: should be '2/20/1909 8:09:36 AM', but is "20/02/1909 8:09:36 AM"
vartest.c:2469: Test failed: should be '12/30/1900', but is "30/12/1900"
vartest.c:2475: Test failed: should be '12/30/1900 6:00:00 AM', but is "30/12/1900 6:00:00 AM"
vartest.c:2481: Test failed: should be '12/31/1903', but is "31/12/1903"
vartest.c:2487: Test failed: should be '12/31/1903 12:00:00 PM', but is "31/12/1903 12:00:00 PM"
vartest.c:2493:
======== Testing Hi-Level Variant API ========
vartest.c:2560: Test failed: should be 5/11/94 7:58:42 AM
vartest.c:2578:-------------- Testing different VARTYPES ----------------
vartest: 2281 tests executed, 0 marked as todo, 64 failures.
=== rpcrt4_test ===
rpc: 901 tests executed, 0 marked as todo, 0 failures.
=== shell32_test ===
generated: 272 tests executed, 0 marked as todo, 0 failures.
shlfileop.c:120: Test failed: Deletion was successful
shlfileop.c:122: Test failed: File should be removed
shlfileop.c:124: Test failed: Directory exists, but is not removed
shlfileop.c:129: Test failed: Directory removed
shlfileop.c:130: Test failed: Directory should be removed
shlfileop.c:132: Test failed: The requested file does not exist
shlfileop.c:286: Test failed: Files are copied to other directory
shlfileop.c:287: Test failed: The file is copied
shlfileop.c:316: Test failed: Files and directories are moved to directory
shlfileop.c:317: Test failed: The file is moved
shlfileop.c:318: Test failed: The directory is moved
shlfileop.c:319: Test failed: The file in subdirectory is moved
shlfileop: 121 tests executed, 0 marked as todo, 12 failures.
=== shlwapi_test ===
clist: 236 tests executed, 0 marked as todo, 0 failures.
generated: 19 tests executed, 0 marked as todo, 0 failures.
shreg.c:79: Test failed: RegCreateKeyA failed
shreg.c:105: Test failed: SHGetValueA failed
shreg.c:106: Test failed: (0123456789,bar\subdir1)
shreg.c:107: Test failed: (ffffffff)
shreg.c:112: Test failed: SHGetValueA failed
shreg.c:113: Test failed: (0123456789)
shreg.c:114: Test failed: (ffffffff)
shreg.c:139: Test failed: test4 RegOpenKey
shreg.c:149: Test failed: SHQueryValueExA failed
shreg.c:155: Test failed: SHQueryValueExA failed
shreg.c:156: Test failed: (3435973836)
shreg.c:163: Test failed: SHQueryValueExA failed
shreg.c:164: Test failed: (6,24)
shreg.c:170: Test failed: SHQueryValueExA failed
shreg.c:171: Test failed: (6,43)
shreg.c:181: Test failed: (6)
shreg.c:183: Test failed: (3435973836)
shreg.c:184: Test failed: (6,24)
shreg.c:193: Test failed: ERROR_MORE_DATA
shreg.c:195: Test failed: (6,43)
shreg.c:196: Test failed: (3435973836)
shreg.c:204: Test failed: Expected ERROR_MORE_DATA
shreg.c:205: Test failed: (0123456789)
shreg.c:206: Test failed: (0123456789)
shreg.c:207: Test failed: (39,43)
shreg.c:208: Test failed: (3435973836)
shreg.c:217: Test failed: (6)
shreg.c:218: Test failed: (6,43)
shreg.c:219: Test failed: (3435973836)
shreg.c:125: Test failed: SHRegGetPathA failed
shreg.c:126: Test failed: (”•–—˜™Š›ŒŽŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ÷ØÙÚÛÜÝÞŸ
!????????,-./0123456789:;Ÿ{Ÿ{?{BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde????????????)
shreg.c:240: Test failed: didn't open dest
shreg: 36 tests executed, 0 marked as todo, 32 failures.
=== urlmon_test ===
generated: 4 tests executed, 0 marked as todo, 0 failures.
=== user32_test ===
class: 80 tests executed, 0 marked as todo, 0 failures.
generated: 1524 tests executed, 0 marked as todo, 0 failures.
sysparams.c:184:testing SPI_{GET,SET}BEEP
sysparams.c:306:testing SPI_{GET,SET}MOUSE
sysparams.c:374:testing SPI_{GET,SET}BORDER
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=1, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=0, value=
sysparams.c:139: Test failed: Missed a message: change_counter=2
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=7, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=20, value=
sysparams.c:406:testing SPI_{GET,SET}KEYBOARDSPEED
sysparams.c:139: Test failed: Missed a message: change_counter=2
sysparams.c:440:testing SPI_ICONHORIZONTALSPACING
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconSpacing, testValue=101, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconSpacing, testValue=32, value=
sysparams.c:480:testing SPI_{GET,SET}SCREENSAVETIMEOUT
sysparams.c:515:testing SPI_{GET,SET}SCREENSAVEACTIVE
sysparams.c:555:testing SPI_{GET,SET}KEYBOARDDELAY
sysparams.c:590:testing SPI_ICONVERTICALSPACING
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconVerticalSpacing, testValue=101, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconVerticalSpacing, testValue=32, value=
sysparams.c:635:testing SPI_{GET,SET}ICONTITLEWRAP
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconTitleWrap, testValue=1, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconTitleWrap, testValue=0, value=
sysparams.c:670:testing SPI_{GET,SET}MENUDROPALIGNMENT
sysparams.c:707:testing SPI_SETDOUBLECLKWIDTH
sysparams.c:738:testing SPI_SETDOUBLECLKHEIGHT
sysparams.c:770:testing SPI_SETDOUBLECLICKTIME
sysparams.c:817:testing SPI_SETMOUSEBUTTONSWAP
sysparams.c:880:testing SPI_{GET,SET}DRAGFULLWINDOWS
sysparams.c:915:testing SPI_{GET,SET}WORKAREA
sysparams.c:953:testing SPI_{GET,SET}SHOWSOUNDS
sysparams.c:997:testing SPI_{GET,SET}DESKWALLPAPER
sysparams: 318 tests executed, 0 marked as todo, 12 failures.
win.c:132:main window 000202D2 main2 000202C8 desktop 0001000C child 000202C6
win.c:148:created child 000202C4
win.c:161:created child of desktop 000302C4
win.c:171:created child of child 000402C4
win.c:181:created top-level 000502C4
win.c:191:created owned top-level 000602C4
win.c:201:created popup 000702C4
win.c:211:created owned popup 000802C4
win.c:221:created top-level owned by child 000902C4
win.c:227:created popup owned by desktop 000A02C4
win.c:233:created popup owned by child 000B02C4
win.c:239:created WS_CHILD popup 000C02C4
win.c:245:created owned WS_CHILD popup 000D02C4
win.c:250:testing parent changes
win.c:262:created child 000E02C4
win.c:288:created top-level 000F02C4
win.c:305:created popup 001002C4
win.c:322:created child 001102C4
win.c:339:created top-level 001202C4
win.c:348:created owned popup 001302C4
win.c:364:created owner 001402C4 and popup 000202C2
win.c:378:created owner 000302C2 and popup 001502C4
win.c:386:created owner 000402C2 and popup 001602C4
win: 428 tests executed, 0 marked as todo, 0 failures.
wsprintf: 4 tests executed, 0 marked as todo, 0 failures.
=== wininet_test ===
generated: 252 tests executed, 0 marked as todo, 0 failures.
(Lines removed...)
http.c:172: Test failed: InternetQueryDataAvailable failed
(Lines Removed...)
http: 28 tests executed, 0 marked as todo, 1 failure.
=== winmm_test ===
wave: 149 tests executed, 0 marked as todo, 0 failures.
=== ws2_32_test
sock: 286 tests executed, 0 marked as todo, 0 failures.
Thanks,
Kye Lewis
LinksOS Project Administrator
LinksOS Web Team Leader
kyethespy(a)softhome.net
(New email address! kyethespy(a)liquid2k.comwill still work, but please send all emails now to new email)
"640k ought to be enough for anyone!"
- Bill Gates
=================================
LinksOS: Linking you to the world
http://linksos.cjb.net
http://linksos.sourceforge.net/
http://linksos.oxygen-x.net/
Now with Bugzilla and phpBB installed :)
=================================
Dec. 31, 2002
Re: tests: ok(0,"foo") prints a '\n'!
by Francois Gouget
On Mon, 30 Dec 2002, Glen wrote:
> Francois Gouget wrote:
>
> >So if noone objects I'll send a patch that stops 'ok' from appending
> >this '\n', and adds a '\n' to all calls to ok. Actually, I would be
> >pretty happy if someone could come up with a perl script doing the
> >latter...
> >
> >
> I came up with a perl script that does what you want. It may not be
> perfect though so use it with caution.
Thanks for the script. It has some problems though:
* it modifies all files. This makes later cvs diff veeeery slow as it
has to check each and every file for differences
* it did not seem to match the 'ok' calls I have here
So I modified it and came up with the following which seems to be
working ok.
#!/usr/bin/perl
sub fix_oks
{
my $c_file = $_[0];
open(FILE_HANDLE, "<$c_file") or die("Error opening file $c_file\n");
my @contents = <FILE_HANDLE>;
close(FILE_HANDLE);
#add a new line to the end of any ok calls we find
my $modified;
my $line2;
foreach (@contents) {
if (/\bok\s*\((.*)\);\s*$/) {
my @components=split /,/,$1;
foreach my $item (@components) {
if ($item !~ /^\s*\".*\\n\"\s*$/) {
$item=~s/^(\s*\".*)(\"\s*)$/$1\\n$2/;
}
}
my $args=join(",",@components);
my $line=$_;
$line=~s/(\bok\s*\()(.*)(\);\s*)$/$1$args$3/;
if ($line ne $_) {
$_=$line;
$modified=1;
}
} elsif (/\bok\s*\(.*,\s*$/) {
$line2=1;
} else {
if ($line2) {
if (!/\".*\\n\"/) {
my $line=$_;
s/(\"([^\"]|\\\")*)(\")/$1\\n$3/;
$modified=1 if ($line ne $_);
}
}
$line2=undef;
}
}
if ($modified) {
open(FILE_HANDLE, ">$c_file");
print(FILE_HANDLE @contents);
close(FILE_HANDLE);
}
}
sub do_current_dir
{
my $i = 0;
#get the current directory's listing
opendir(DIR_HANDLE, ".") or die("Error opening $directory\n");
my @dir_listing = grep { !/^\.\.?/ } readdir(DIR_HANDLE);
closedir(DIR_HANDLE);
#for each file in the directory
while($dir_listing[$i])
{
#if a directory is found then do that one too
if(-d $dir_listing[$i])
{
chdir $dir_listing[$i];
do_current_dir();
chdir "..";
}
#if it's a c file then fix the calls to ok
if ($dir_listing[$i] =~ /\.c$/)
{
fix_oks($dir_listing[$i]);
}
$i++;
}
}
do_current_dir();
--
Francois Gouget fgouget(a)free.fr http://fgouget.free.fr/
Linux, WinNT, MS-DOS - also known as the Good, the Bad and the Ugly.
Dec. 31, 2002
Tests for URL functions in shlwapi
by Matthew Mastracci
I've started on some tests in shlwapi. I've added the following file to
the tests directory under shlwapi, but I can't include it in a cvs diff,
because I don't have write access to the repository.
Any hints as to diffing a new file cleanly w/o write access to CVS?
These tests compile and run clean with the last CVS tree I pulled (a few
days ago). I need to flesh them out, but it's a start.
Here is the diff for the Makefile.in:
cvs server: Diffing dlls/shlwapi/tests
Index: dlls/shlwapi/tests/Makefile.in
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/tests/Makefile.in,v
retrieving revision 1.2
diff -u -r1.2 Makefile.in
--- dlls/shlwapi/tests/Makefile.in 12 Nov 2002 01:13:10 -0000
1.2
+++ dlls/shlwapi/tests/Makefile.in 31 Dec 2002 20:51:24 -0000
@@ -8,7 +8,8 @@
CTESTS = \
clist.c \
generated.c \
- shreg.c
+ shreg.c \
+ url.c
@MAKE_TEST_RULES@
--- 8< ---
And the entire file for url.c in dlls/shlwapi/tests/url.c:
--- 8< ---
/* Unit test suite for Url* functions
*
* Copyright 2002 Matthew Mastracci
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
*/
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include "wine/test.h"
#include "wine/unicode.h"
#include "winbase.h"
#include "shlwapi.h"
#include "wininet.h"
const char* TEST_URL_1 = "http://www.winehq.org/tests?date=10/10/1923";
const char* TEST_URL_2 =
"http://localhost:8080/tests%2e.html?date=Mon%2010/10/1923";
const char* TEST_URL_3 =
"http://foo:bar(a)localhost:21/internal.php?query=x&return=y";
static LPWSTR GetWideString(const char* szString)
{
LPWSTR wszString = (LPWSTR) HeapAlloc(GetProcessHeap(), 0,
(2*INTERNET_MAX_URL_LENGTH) * sizeof(WCHAR));
MultiByteToWideChar(0, 0, szString, -1, wszString,
INTERNET_MAX_URL_LENGTH);
return wszString;
}
static void FreeWideString(LPWSTR wszString)
{
HeapFree(GetProcessHeap(), 0, wszString);
}
static void hash_url(const char* szUrl)
{
LPCSTR szTestUrl = szUrl;
LPWSTR wszTestUrl = GetWideString(szTestUrl);
DWORD cbSize = sizeof(DWORD);
DWORD dwHash1, dwHash2;
ok(UrlHashA(szTestUrl, (LPBYTE)&dwHash1, cbSize) == S_OK, "UrlHashA
didn't return S_OK");
ok(UrlHashW(wszTestUrl, (LPBYTE)&dwHash2, cbSize) == S_OK, "UrlHashW
didn't return S_OK");
FreeWideString(wszTestUrl);
ok(dwHash1 == dwHash2, "Hashes didn't compare");
}
static void test_UrlHash(void)
{
hash_url(TEST_URL_1);
hash_url(TEST_URL_2);
hash_url(TEST_URL_3);
}
static void test_url_part(const char* szUrl, DWORD dwPart, DWORD
dwFlags, char* szExpected)
{
CHAR szPart[INTERNET_MAX_URL_LENGTH];
WCHAR wszPart[INTERNET_MAX_URL_LENGTH];
LPWSTR wszUrl = GetWideString(szUrl);
LPWSTR wszConvertedPart;
DWORD dwSize;
dwSize = INTERNET_MAX_URL_LENGTH;
ok( UrlGetPartA(szUrl, szPart, &dwSize, dwPart, dwFlags) == S_OK,
"UrlGetPartA didn't return S_OK" );
dwSize = INTERNET_MAX_URL_LENGTH;
ok( UrlGetPartW(wszUrl, wszPart, &dwSize, dwPart, dwFlags) == S_OK,
"UrlGetPartW didn't return S_OK" );
wszConvertedPart = GetWideString(szPart);
ok(strcmpW(wszPart,wszConvertedPart)==0, "Strings didn't match between
ascii and unicode UrlGetPart!");
FreeWideString(wszUrl);
FreeWideString(wszConvertedPart);
ok(strcmp(szPart,szExpected)==0, "Expected %s, but got %s",
szExpected, szPart);
}
static void test_UrlGetPart(void)
{
test_url_part(TEST_URL_3, URL_PART_HOSTNAME, 0, "localhost");
test_url_part(TEST_URL_3, URL_PART_PORT, 0, "21");
test_url_part(TEST_URL_3, URL_PART_USERNAME, 0, "foo");
test_url_part(TEST_URL_3, URL_PART_PASSWORD, 0, "bar");
test_url_part(TEST_URL_3, URL_PART_SCHEME, 0, "http");
test_url_part(TEST_URL_3, URL_PART_QUERY, 0, "?query=x&return=y");
}
START_TEST(url)
{
test_UrlHash();
test_UrlGetPart();
}
--
Matthew Mastracci <matt(a)aclaro.com>
Dec. 31, 2002
Re: Visual-MinGW: Winelib patch
by Manu
Dimitrie O. Paun wrote:
> On December 31, 2002 01:52 pm, Manu wrote:
> > -mno-cygwin don't have much sense, since Visual-MinGW is built with
> > MinGW, under Windows, not Cygwin.
>
> Yes, I know, but -mno-cygwin should be a noop in that case. And if
> someone has cygwin installed, it will ensure that Visual-MinGW is
> not linked against the cygwin libs. I think we are in agreement here
> that Visual-MinGW should not depend on cygwin, no? If so, it makes
> sense to make this explicit with -mno-cygwin.
If MinGW doesn't complain, I agree.
> > > -- Do not use -pedantic, the code does not compile with gcc 3.2
> > > on Linux with that flag.
> > > -- Do not use -fvtable-thunks, it is deprecated in gcc 3.2
-fvtable-thunks is problematic. I use gcc version 2.95.3-6 (mingw special),
(faster, smaller binaries) -fvtable-thunks is required with gcc 2,
but gcc 3 outputs a warning.
Any workaround?
> > > Please apply this patch with 'patch -p1 < winelib.diff'.
> >
> > Apparently, the patch refuses to be applied, probably due to
> > the fact that I changed a few things in makefiles formating.
>
> OK, I can create a new patch for you.
>
> > BTW, makefiles are generated by Visual-MinGW, so I
> > suggest to add dedicated makefiles for Winelib.
> > eg: "makefile.wine".
>
> I can certainly do that, but then they will drift appart.
> The ideal situation is to support both mingw and wine out
> of the same makefile, so that everything "just works".
> If makefile is generated by Visual-MinGW, I think it's worth
> modifying Visual-MinGW so that it generates the right makefile
> for both mingw and wine, don't you think so?
Visual-MinGW generates the right makefile indeed, from user
parameters in the ".prj" file. There is three possibilities:
- makefile.wine
- configure.in/Makefile.am > configure script.
- modifying params in ".prj" files.
I will change the parameters in ".prj" files, then generated
makefiles should work for both MinGW and Wine.
Though, I don't have a solution for -fvtable-thunks.
About configuration files, I started a new project called
MSYS Here, which is a MSYS loader. With it, MSYS can
be launched from Windows Explorer, the same way than
the "DOS Prompt Here" power toy.
The sources are in the MinGW CVS:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mingw/utils/msys-here/
I'll have to write configuration files for it, as well as for WinUI,
which both Visual-MinGW and MSYS Here use.
I'm not an Autotools guru, but if it works, I'll also commit
configuration files to visual-mingw/winui. Then, I'll maybe write
configuration files for Visual-MinGW as well.
Currently, I'm not very good with Auto-stuff :(
Manu.
Dec. 31, 2002
Wine Packagers Guide
by Tom Wickline
I read over the Packagers Guide and here is a short list
of things that I found that need looking into. I could use some
help, input on this.
---
1.3. Terms used in this document
FHS 2.1 specifications
current version is 2.2
----
2.2. Requirements
Wine will not run without a configuration file.
Further, no default is currently provided by Wine.
this has changed ?
Wine does not completely support a complex multi-user installation ala
Windows NT, but it could fairly readily.
Does it now ?
----
3.1. Wine Static and Shareable Files
2 Shared Object Library Files
list 139 now there is 167 ?
3 Man Pages
No winemaker man page listed
4 Include Files
list 132 files is this list upto date ?
5 Documentation files.
Need to make a list of Doc files.
---
5.1. OpenLinux Sample
And why not a ditro independent Sample ?
1 Building the package
this section needs updated
Wine.ini ???
---
Chapter 6. Work to be done
Needs work.....
Tom
Dec. 31, 2002
Re: PathCreateFromUrlW
by Matthew Mastracci
Ok - this time for sure. Thanks for the diff tips.
Index: dlls/shlwapi/path.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/path.c,v
retrieving revision 1.27
diff -u -r1.27 path.c
--- dlls/shlwapi/path.c 19 Dec 2002 04:16:54 -0000 1.27
+++ dlls/shlwapi/path.c 31 Dec 2002 19:17:47 -0000
@@ -3154,12 +3154,39 @@
HRESULT WINAPI PathCreateFromUrlW(LPCWSTR lpszUrl, LPWSTR lpszPath,
LPDWORD pcchPath, DWORD dwFlags)
{
- FIXME("(%s,%p,%p,0x%08lx)-stub\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
+ static const WCHAR stemp[] = { 'f','i','l','e',':','/','/',0 };
+ LPWSTR pwszPathPart;
+ TRACE("(%s,%p,%p,0x%08lx)\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
if (!lpszUrl || !lpszPath || !pcchPath || !*pcchPath)
return E_INVALIDARG;
- return S_OK;
+ // Path of the form file://...
+ if (!strncmpW(lpszUrl, stemp, 7))
+ {
+ lpszUrl += 7;
+ }
+ // Path of the form file:...
+ else if (!strncmpW(lpszUrl, stemp, 5))
+ {
+ lpszUrl += 5;
+ }
+
+ // Ensure that path is of the form c:... or c|...
+ if (lpszUrl[1] != ':' && lpszUrl[1] != '|' && isalphaW(*lpszUrl))
+ return E_INVALIDARG;
+
+ HRESULT hr = UrlUnescapeW(lpszUrl, lpszPath, pcchPath, dwFlags);
+ if (lpszPath[1] == '|')
+ lpszPath[1] = ':';
+
+ for (pwszPathPart = lpszPath; *pwszPathPart; pwszPathPart++)
+ if (*pwszPathPart == '/')
+ *pwszPathPart = '\\';
+
+ TRACE("Returning %s\n",debugstr_w(lpszPath));
+
+ return hr;
}
/*************************************************************************
On Tue, 2002-12-31 at 11:01, Dimitrie O. Paun wrote:
> On December 31, 2002 02:06 pm, Matthew Mastracci wrote:
> > Sorry, here's the unified diff.
>
> Thanks! However, please generate the diff relative to wine's
> root, as I suggested:
>
> cvs diff -u dlls/shlwapi/path.c
>
> What you did is this:
>
> cd dlls/shlwapi; cvs diff -u path.c
>
> which just makes things harder for Alexandre when applying
> the patch.
--
Matthew Mastracci <matt(a)aclaro.com>
Dec. 31, 2002
Re: Visual-MinGW: Winelib patch
by Manu
Dimitrie O. Paun:
> Hi Manu,
>
> I got around getting Visual-MinGW to compile under Winelib.
> This patch touches only your makefile, and I hope the changes
> are not controversial:
> -- Use forward slash instead of backslash
Yes, logical.
> -- Explicitly list the DLLs you link against (shell32, comdlg32, advapi32)
> -- It make sense to specify -mno-cygwin
> For some reason, the code seems to require it. Please check
> that it works under Windows as well. If it does, if makes
> sense to have it as Visual-MinGW should not have a dependency
> on Cygwin, as far as I can tell.
-mno-cygwin don't have much sense, since Visual-MinGW is built with
MinGW, under Windows, not Cygwin.
> -- Do not use -pedantic, the code does not compile with gcc 3.2
> on Linux with that flag.
> -- Do not use -fvtable-thunks, it is deprecated in gcc 3.2
>
> Please apply this patch with 'patch -p1 < winelib.diff'.
Apparently, the patch refuses to be applied, probably due to
the fact that I changed a few things in makefiles formating.
BTW, makefiles are generated by Visual-MinGW, so I
suggest to add dedicated makefiles for Winelib.
eg: "makefile.wine".
That way, makefiles for Winelib won't be overwritten by
Visual-MinGW, and it will be more convenient to do some
changes in these.
Indeed, the best way would be to use a configure script.
Anyway, send me your makefiles, I'll commit these to cvs.
Then, you'll have full control on these.
> Note that I still need to get some changes integrated into the
> official Wine tree before you can actually compile Visual-MinGW
> under Winelib. The changes are not controversial, and I hope to
> get them in real soon. I will let you know when that happens.
Ok, thanks.
> Regardless, I think the changes I'm proposing are logical in and
> of themselves, so I figured they can be integrated regardless.
I applied your patch against src/rsrc.rc.
Manu.
Dec. 31, 2002
PathCreateFromUrlW
by Matthew Mastracci
Here's an implementation of PathCreateFromUrlW that helps Kazaa crash
later rather than sooner. :)
Can someone review this and check it in (if it doesn't require any
fixes)?
Index: path.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/path.c,v
retrieving revision 1.27
diff -r1.27 path.c
3157c3157,3159
< FIXME("(%s,%p,%p,0x%08lx)-stub\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
---
> static const WCHAR stemp[] = { 'f','i','l','e',':','/','/',0 };
> LPWSTR pwszPathPart;
> TRACE("(%s,%p,%p,0x%08lx)\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
3162c3164,3189
< return S_OK;
---
> // Path of the form file://...
> if (!strncmpW(lpszUrl, stemp, 7))
> {
> lpszUrl += 7;
> }
> // Path of the form file:...
> else if (!strncmpW(lpszUrl, stemp, 5))
> {
> lpszUrl += 5;
> }
>
> // Ensure that path is of the form c:... or c|...
> if (lpszUrl[1] != ':' && lpszUrl[1] != '|' && isalphaW(*lpszUrl))
> return E_INVALIDARG;
>
> HRESULT hr = UrlUnescapeW(lpszUrl, lpszPath, pcchPath, dwFlags);
> if (lpszPath[1] == '|')
> lpszPath[1] = ':';
>
> for (pwszPathPart = lpszPath; *pwszPathPart; pwszPathPart++)
> if (*pwszPathPart == '/')
> *pwszPathPart = '\\';
>
> TRACE("Returning %s\n",debugstr_w(lpszPath));
>
> return hr;
--
Matthew Mastracci <matt(a)aclaro.com>
Dec. 31, 2002
Re: Fixing include quotes (was: Re: conformance test for ShellExecute)
by Dimitrie O. Paun
On December 31, 2002 06:41 am, Patrik Stridvall wrote:
> I think it is better than Alexandre runs
> winapi_cleanup --include-quotes
> himself if he thinks it does the correct things.
Well, that's cool, but your original message gave the impression
that this is still a work in progress not ready to be used.
Which it seems is the wrong impression. Just let Alexandre know
to run the above mentioned command after applying your patch,
that will do.
BTW, did you compile Wine after this patch? If it compiles,
then I don't think there is any problem, no? In fact, if it
compiles we are *guaranteed* that the result is correct
because we don't have any duplicated header filename:
[dimi(a)dimi wine.src]$ find -name "*.h" | sed 's%.*/%%' | sort -u | uniq -c | sort -rn | head -1
1 zmouse.h
--
Dimi.
Dec. 31, 2002