X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fwin32%2Fcompat%2Fcompat.cpp;h=96c21319601df516948bf35a5e43098ab0e8d7ed;hb=03996a10212efd150de1a8509830f87e10b9bd7f;hp=481ff2e375efd646ce411226289d9cea2c6da7f5;hpb=35d5d15f383308848775c5cb366bde1577ae39ba;p=bacula%2Fbacula diff --git a/bacula/src/win32/compat/compat.cpp b/bacula/src/win32/compat/compat.cpp index 481ff2e375..96c2131960 100644 --- a/bacula/src/win32/compat/compat.cpp +++ b/bacula/src/win32/compat/compat.cpp @@ -954,30 +954,21 @@ win32_cgets (char* buffer, int len) if ((g_platform_id == VER_PLATFORM_WIN32_NT) && p_WideCharToMultiByte && p_cgetws) { WCHAR szBuf[260]; szBuf[0] = min (255, len); /* max len, must be smaller than buffer */ - if (!p_cgetws (szBuf)) - return NULL; - - if (wchar_2_UTF8(buffer, &szBuf[2], len)) + if (p_cgetws(szBuf) && wchar_2_UTF8(buffer, &szBuf[2], len)) return buffer; - else - return NULL; } /* win 9x and unicode conversion */ if ((g_platform_id == VER_PLATFORM_WIN32_WINDOWS) && p_WideCharToMultiByte && p_MultiByteToWideChar) { char szBuf[260]; - szBuf[0] = min (255, len); /* max len, must be smaller than buffer */ - if (!_cgets (szBuf)) - return NULL; - - /* back and forth to get UTF-8 from ANSI */ - WCHAR wszBuf[260]; - p_MultiByteToWideChar(CP_OEMCP, 0, &szBuf[2], -1, wszBuf,260); + szBuf[0] = min(255, len); /* max len, must be smaller than buffer */ + if (_cgets(szBuf)) { + WCHAR wszBuf[260]; + p_MultiByteToWideChar(CP_OEMCP, 0, &szBuf[2], -1, wszBuf,260); - if (wchar_2_UTF8(buffer, wszBuf, len)) - return buffer; - else - return NULL; + if (wchar_2_UTF8(buffer, wszBuf, len)) + return buffer; + } } /* fallback */