Browse Source

Fix w32-pthreads build and string handling

BtbN 11 years ago
parent
commit
afd8b63687

+ 4 - 3
deps/w32-pthreads/CMakeLists.txt

@@ -1,8 +1,5 @@
 project(w32-pthreads)
 
-add_definitions(-D__CLEANUP_C)
-add_definitions(-DPTW32_BUILD)
-
 set(w32-pthreads_SOURCES
 	pthread.c)
 
@@ -15,6 +12,10 @@ set(w32-pthreads_HEADERS
 add_library(w32-pthreads SHARED
 	${w32-pthreads_SOURCES}
 	${w32-pthreads_HEADERS})
+target_compile_definitions(w32-pthreads
+	PRIVATE __CLEANUP_C PTW32_BUILD)
+target_include_directories(w32-pthreads
+	PUBLIC .)
 target_link_libraries(w32-pthreads)
 
 install_obs_core(w32-pthreads)

+ 4 - 2
deps/w32-pthreads/pthread_win32_attach_detach_np.c

@@ -37,6 +37,8 @@
 #include "pthread.h"
 #include "implement.h"
 
+#include <tchar.h>
+
 /*
  * Handle to quserex.dll 
  */
@@ -80,8 +82,8 @@ pthread_win32_process_attach_np ()
   }
 #else
   /* strncat is secure - this is just to avoid a warning */
-  if(GetSystemDirectory(QuserExDLLPathBuf, sizeof(QuserExDLLPathBuf)) &&
-     0 == strncat_s(QuserExDLLPathBuf, sizeof(QuserExDLLPathBuf), "\\QUSEREX.DLL", 12))
+  if(GetSystemDirectory(QuserExDLLPathBuf, sizeof(QuserExDLLPathBuf) / sizeof(TCHAR)) &&
+     0 == _tcsncat_s(QuserExDLLPathBuf, sizeof(QuserExDLLPathBuf) / sizeof(TCHAR), TEXT("\\QUSEREX.DLL"), 12))
   {
     ptw32_h_quserex = LoadLibrary(QuserExDLLPathBuf);
   }