X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=imports.cpp;h=18d84f8cb8c780edeee55bb4e980677ed3b831d3;hb=62f28c55d444d846579159133dbe091809a2c08b;hp=f50591cc77a4777084f6fe061d32a60ac6cfb867;hpb=94d25a5dcfad872c97e71b646429fc87dc66acc2;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); + } } }