diff --git a/msvc/zzat.vcxproj b/msvc/zzat.vcxproj
index f477ff0..fb27e4c 100644
--- a/msvc/zzat.vcxproj
+++ b/msvc/zzat.vcxproj
@@ -63,7 +63,7 @@
CompileAsC
- ws2_32.lib;%(AdditionalDependencies)
+ ws2_32.lib;..\..\libcaca\win32\Debug\Win32\libcaca.lib;%(AdditionalDependencies)
$(OutDir)zzat.exe
true
$(OutDir)zzat.pdb
@@ -83,7 +83,7 @@
CompileAsC
- ws2_32.lib;%(AdditionalDependencies)
+ ws2_32.lib;..\..\libcaca\win32\Release\Win32\libcaca.lib;%(AdditionalDependencies)
$(OutDir)zzat.exe
true
Console
@@ -104,4 +104,4 @@
-
\ No newline at end of file
+
diff --git a/msvc/zzuf.vcxproj b/msvc/zzuf.vcxproj
index 485f579..3e1eb16 100644
--- a/msvc/zzuf.vcxproj
+++ b/msvc/zzuf.vcxproj
@@ -63,7 +63,7 @@
CompileAsC
- ws2_32.lib;%(AdditionalDependencies)
+ ws2_32.lib;..\..\libcaca\win32\Debug\Win32\libcaca.lib;%(AdditionalDependencies)
$(OutDir)zzuf.exe
true
$(OutDir)zzuf.pdb
@@ -83,7 +83,7 @@
CompileAsC
- ws2_32.lib;%(AdditionalDependencies)
+ ws2_32.lib;..\..\libcaca\win32\Release\Win32\libcaca.lib;%(AdditionalDependencies)
$(OutDir)zzuf.exe
true
Console
@@ -118,4 +118,4 @@
-
\ No newline at end of file
+
diff --git a/src/libzzuf/lib-win32.c b/src/libzzuf/lib-win32.c
index 9d00b05..3c9a9d7 100644
--- a/src/libzzuf/lib-win32.c
+++ b/src/libzzuf/lib-win32.c
@@ -44,7 +44,7 @@ static HANDLE (__stdcall *ORIG(CreateFileA))(LPCTSTR, DWORD, DWORD,
LPSECURITY_ATTRIBUTES,
DWORD, DWORD, HANDLE);
#endif
-#if defined HAVE_CREATEFILEA
+#if defined HAVE_CREATEFILEW
static HANDLE (__stdcall *ORIG(CreateFileW))(LPCWSTR, DWORD, DWORD,
LPSECURITY_ATTRIBUTES,
DWORD, DWORD, HANDLE);
diff --git a/src/libzzuf/sys.c b/src/libzzuf/sys.c
index ab9bd05..752fd73 100644
--- a/src/libzzuf/sys.c
+++ b/src/libzzuf/sys.c
@@ -77,6 +77,7 @@ void _zz_sys_init(void)
void *list;
int k;
+ /* Enumerate all loaded objects and overwrite some functions */
VirtualQuery(_zz_sys_init, &mbi, sizeof(mbi));
list = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId());
entry.dwSize = sizeof(entry);
@@ -85,6 +86,7 @@ void _zz_sys_init(void)
if(entry.hModule == mbi.AllocationBase)
continue; /* Don't replace our own functions */
+ fprintf(stderr, "diverting functions from %s\n", entry.szModule);
insert_funcs(entry.hModule);
}
CloseHandle(list);
@@ -140,6 +142,9 @@ static void insert_funcs(void *module)
continue;
}
+ fprintf(stderr, "diverting method %s (from %s)\n",
+ diversion->name, diversion->lib);
+
lib = GetModuleHandleA(diversion->lib);
*diversion->old = (void *)GetProcAddress(lib, diversion->name);
diff --git a/src/myfork.c b/src/myfork.c
index 2855c29..adac186 100644
--- a/src/myfork.c
+++ b/src/myfork.c
@@ -300,7 +300,17 @@ static int run_process(struct child *child, struct opts *opts, int pipes[][2])
free(cmdline);
if (!ret)
+ {
+ LPTSTR buf;
+ DWORD err = GetLastError();
+ FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, err, 0, (LPTSTR)&buf, 0, NULL);
+ fprintf(stderr, "error launching `%s': %s\n", child->newargv[0], buf);
+ LocalFree(buf);
return -1;
+ }
/* Insert the replacement code */
ret = dll_inject(&pinfo, SONAME);