X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=imports.cpp;h=18d84f8cb8c780edeee55bb4e980677ed3b831d3;hb=2f3ab42db3d63e674e520a68fe507119af519288;hp=f50591cc77a4777084f6fe061d32a60ac6cfb867;hpb=800ca0c4f150de75c38c87a59d18878b0341f16b;p=nssm.git diff --git a/imports.cpp b/imports.cpp index f50591c..18d84f8 100644 --- a/imports.cpp +++ b/imports.cpp @@ -29,18 +29,10 @@ FARPROC get_import(HMODULE library, const char *function, unsigned long *error) *error = GetLastError(); if (*error != ERROR_PROC_NOT_FOUND) { TCHAR *function_name; -#ifdef UNICODE - size_t buflen; - mbstowcs_s(&buflen, NULL, 0, function, _TRUNCATE); - function_name = (TCHAR *) HeapAlloc(GetProcessHeap(), 0, buflen * sizeof(TCHAR)); - if (function_name) mbstowcs_s(&buflen, function_name, buflen * sizeof(TCHAR), function, _TRUNCATE); -#else - function_name = (TCHAR *) function; -#endif - log_event(EVENTLOG_WARNING_TYPE, NSSM_EVENT_GETPROCADDRESS_FAILED, function_name, error_string(*error), 0); -#ifdef UNICODE - if (function_name) HeapFree(GetProcessHeap(), 0, function_name); -#endif + if (! from_utf8(function, &function_name, 0)) { + log_event(EVENTLOG_WARNING_TYPE, NSSM_EVENT_GETPROCADDRESS_FAILED, function_name, error_string(*error), 0); + HeapFree(GetProcessHeap(), 0, function_name); + } } }