Module: wine Branch: master Commit: 55b5e3a727a6a7d108fbbc3ebefe22ec84d70f7e URL: http://source.winehq.org/git/wine.git/?a=commit;h=55b5e3a727a6a7d108fbbc3ebe...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Sep 28 19:56:10 2009 +0200
kernel32: Make system.drv into a stand-alone 16-bit module.
---
.gitignore | 1 - configure | 9 +++++++++ configure.ac | 1 + dlls/Makefile.in | 3 +-- dlls/kernel32/Makefile.in | 2 -- dlls/system.drv16/Makefile.in | 13 +++++++++++++ dlls/{kernel32 => system.drv16}/system.c | 8 +++++++- .../system.drv16.spec} | 0 8 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/.gitignore b/.gitignore index f439b35..45362c3 100644 --- a/.gitignore +++ b/.gitignore @@ -119,7 +119,6 @@ dlls/setupx.dll16 dlls/shdocvw/shdocvw_v1.tlb dlls/stdole2.tlb/std_ole_v2.tlb dlls/stdole32.tlb/std_ole_v1.tlb -dlls/system.drv16 dlls/toolhelp.dll16 dlls/user.exe16 dlls/ver.dll16 diff --git a/configure b/configure index 2c8e4e5..b2cbd87 100755 --- a/configure +++ b/configure @@ -16658,6 +16658,14 @@ dlls/sxs/Makefile: dlls/sxs/Makefile.in dlls/Makedll.rules" ac_config_files="$ac_config_files dlls/sxs/Makefile"
ALL_MAKEFILES="$ALL_MAKEFILES \ + dlls/system.drv16/Makefile" +test "x$enable_win16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \ + system.drv16" +ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS +dlls/system.drv16/Makefile: dlls/system.drv16/Makefile.in dlls/Makedll.rules" +ac_config_files="$ac_config_files dlls/system.drv16/Makefile" + +ALL_MAKEFILES="$ALL_MAKEFILES \ dlls/t2embed/Makefile" test "x$enable_t2embed" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \ t2embed" @@ -19045,6 +19053,7 @@ do "dlls/strmiids/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/strmiids/Makefile" ;; "dlls/svrapi/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/svrapi/Makefile" ;; "dlls/sxs/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/sxs/Makefile" ;; + "dlls/system.drv16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/system.drv16/Makefile" ;; "dlls/t2embed/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/t2embed/Makefile" ;; "dlls/tapi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/tapi32/Makefile" ;; "dlls/traffic/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/traffic/Makefile" ;; diff --git a/configure.ac b/configure.ac index b773573..5fb8e9b 100644 --- a/configure.ac +++ b/configure.ac @@ -2443,6 +2443,7 @@ WINE_CONFIG_MAKEFILE([dlls/stress.dll16/Makefile],[dlls/Makedll.rules],[dlls],[A WINE_CONFIG_MAKEFILE([dlls/strmiids/Makefile],[dlls/Makeimplib.rules],[dlls],[ALL_IMPLIB_DIRS]) WINE_CONFIG_MAKEFILE([dlls/svrapi/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/sxs/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) +WINE_CONFIG_MAKEFILE([dlls/system.drv16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16]) WINE_CONFIG_MAKEFILE([dlls/t2embed/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/tapi32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/traffic/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) diff --git a/dlls/Makefile.in b/dlls/Makefile.in index de007a7..78be337 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -23,7 +23,6 @@ WIN16_FILES = \ krnl386.exe16 \ mmsystem.dll16 \ setupx.dll16 \ - system.drv16 \ toolhelp.dll16 \ user.exe16 \ ver.dll16 \ @@ -45,7 +44,7 @@ commdlg.dll16: gdi.exe16: echo "gdi32.dll" >$@
-krnl386.exe16 system.drv16 toolhelp.dll16: +krnl386.exe16 toolhelp.dll16: echo "kernel32.dll" >$@
setupx.dll16: diff --git a/dlls/kernel32/Makefile.in b/dlls/kernel32/Makefile.in index 299f324..a64b699 100644 --- a/dlls/kernel32/Makefile.in +++ b/dlls/kernel32/Makefile.in @@ -11,7 +11,6 @@ EXTRADLLFLAGS = -Wb,-F,KERNEL32.dll -Wl,--image-base,0x7b800000
SPEC_SRCS16 = \ krnl386.exe.spec \ - system.drv.spec \ toolhelp.spec
C_SRCS = \ @@ -55,7 +54,6 @@ C_SRCS = \ string.c \ sync.c \ syslevel.c \ - system.c \ tape.c \ task.c \ thread.c \ diff --git a/dlls/system.drv16/Makefile.in b/dlls/system.drv16/Makefile.in new file mode 100644 index 0000000..2fa90cf --- /dev/null +++ b/dlls/system.drv16/Makefile.in @@ -0,0 +1,13 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = system.drv16 +IMPORTS = kernel32 +EXTRADLLFLAGS = -Wb,--subsystem,win16 + +C_SRCS = system.c + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/kernel32/system.c b/dlls/system.drv16/system.c similarity index 96% rename from dlls/kernel32/system.c rename to dlls/system.drv16/system.c index 9395d83..46ab04e 100644 --- a/dlls/kernel32/system.c +++ b/dlls/system.drv16/system.c @@ -122,6 +122,7 @@ static void SYSTEM_StopTicks(void) DWORD WINAPI InquireSystem16( WORD code, WORD arg ) { WORD drivetype; + WCHAR root[3];
switch(code) { @@ -129,7 +130,12 @@ DWORD WINAPI InquireSystem16( WORD code, WORD arg ) return SYS_TIMER_RATE;
case 1: /* Get drive type */ - drivetype = GetDriveType16( arg ); + root[0] = 'A' + arg; + root[1] = ':'; + root[2] = 0; + drivetype = GetDriveTypeW( root ); + if (drivetype == DRIVE_CDROM) drivetype = DRIVE_REMOTE; + else if (drivetype == DRIVE_NO_ROOT_DIR) drivetype = DRIVE_UNKNOWN; return MAKELONG( drivetype, drivetype );
case 2: /* Enable one-drive logic */ diff --git a/dlls/kernel32/system.drv.spec b/dlls/system.drv16/system.drv16.spec similarity index 100% rename from dlls/kernel32/system.drv.spec rename to dlls/system.drv16/system.drv16.spec