kernel32: Add partial stub for NeedCurrentDirectoryForExePath.
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index a675386..4d3d083 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -799,6 +799,8 @@
@ stdcall MoveFileWithProgressW(wstr wstr ptr ptr long)
@ stdcall MulDiv(long long long)
@ stdcall MultiByteToWideChar(long long str long ptr long)
+@ stdcall NeedCurrentDirectoryForExePathA(str)
+@ stdcall NeedCurrentDirectoryForExePathW(wstr)
# @ stub NlsConvertIntegerToString
# @ stub NlsGetCacheUpdateCount
# @ stub NlsResetProcessLocale
diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c
index b195435..eb752f0 100644
--- a/dlls/kernel32/path.c
+++ b/dlls/kernel32/path.c
@@ -1511,6 +1511,43 @@
/***********************************************************************
+ * NeedCurrentDirectoryForExePathW (KERNEL32.@)
+ */
+BOOL WINAPI NeedCurrentDirectoryForExePathW( LPCWSTR name )
+{
+ static const WCHAR env_name[] = {'N','o','D','e','f','a','u','l','t',
+ 'C','u','r','r','e','n','t',
+ 'D','i','r','e','c','t','o','r','y',
+ 'I','n','E','x','e','P','a','t','h',0};
+ WCHAR env_val;
+
+ /* MSDN mentions some 'registry location'. We do not use registry. */
+ FIXME("(%s): partial stub\n", debugstr_w(name));
+
+ if (strchrW(name, '\\'))
+ return TRUE;
+
+ /* Check the existence of the variable, not value */
+ if (!GetEnvironmentVariableW( env_name, &env_val, 1 ))
+ return TRUE;
+
+ return FALSE;
+}
+
+
+/***********************************************************************
+ * NeedCurrentDirectoryForExePathA (KERNEL32.@)
+ */
+BOOL WINAPI NeedCurrentDirectoryForExePathA( LPCSTR name )
+{
+ WCHAR *nameW;
+
+ if (!(nameW = FILE_name_AtoW( name, FALSE ))) return TRUE;
+ return NeedCurrentDirectoryForExePathW( nameW );
+}
+
+
+/***********************************************************************
* wine_get_unix_file_name (KERNEL32.@) Not a Windows API
*
* Return the full Unix file name for a given path.
diff --git a/include/winbase.h b/include/winbase.h
index 59e7718..da9c547 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -1839,6 +1839,9 @@
BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
#define MoveFileWithProgress WINELIB_NAME_AW(MoveFileWithProgress)
INT WINAPI MulDiv(INT,INT,INT);
+BOOL WINAPI NeedCurrentDirectoryForExePathA(LPCSTR);
+BOOL WINAPI NeedCurrentDirectoryForExePathW(LPCWSTR);
+#define NeedCurrentDirectoryForExePath WINELIB_NAME_AW(NeedCurrentDirectoryForExePath)
BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,LPVOID,BOOL);
BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,LPVOID,BOOL);