From cdccc69c62579b0c13b35fad0728079652b8f3c9 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 31 Jan 2023 11:21:30 +0100 Subject: Move library source into src sub-directory Signed-off-by: David Oberhollenzer --- lib/compat/w32_wmain.c | 83 -------------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 lib/compat/w32_wmain.c (limited to 'lib/compat/w32_wmain.c') diff --git a/lib/compat/w32_wmain.c b/lib/compat/w32_wmain.c deleted file mode 100644 index 9b3e354..0000000 --- a/lib/compat/w32_wmain.c +++ /dev/null @@ -1,83 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * w32_wmain.c - * - * Copyright (C) 2021 David Oberhollenzer - */ -#include "config.h" -#include "compat.h" - -#include -#include - -#ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN -#include -#include - -#undef main - -int main(int argc, char **argv) -{ - WCHAR *cmdline, **argList; - int i, ret, utf8_argc; - char **utf8_argv; - (void)argc; - (void)argv; - - /* get the UTF-16 encoded command line arguments */ - cmdline = GetCommandLineW(); - argList = CommandLineToArgvW(cmdline, &utf8_argc); - if (argList == NULL) - goto fail_oom; - - /* convert to UTF-8 */ - utf8_argv = calloc(sizeof(utf8_argv[0]), utf8_argc); - if (utf8_argv == NULL) - goto fail_oom; - - for (i = 0; i < utf8_argc; ++i) { - DWORD length = WideCharToMultiByte(CP_UTF8, 0, argList[i], - -1, NULL, 0, NULL, NULL); - if (length <= 0) - goto fail_conv; - - utf8_argv[i] = calloc(1, length + 1); - if (utf8_argv[i] == NULL) - goto fail_oom; - - WideCharToMultiByte(CP_UTF8, 0, argList[i], -1, - utf8_argv[i], length + 1, NULL, NULL); - utf8_argv[i][length] = '\0'; - } - - LocalFree(argList); - argList = NULL; - - /* call the actual main function */ - ret = sqfs_tools_main(utf8_argc, utf8_argv); - - /* cleanup */ - for (i = 0; i < utf8_argc; ++i) - free(utf8_argv[i]); - - free(utf8_argv); - return ret; -fail_conv: - w32_perror("Converting UTF-16 argument to UTF-8"); - goto fail; -fail_oom: - fputs("out of memory\n", stderr); - goto fail; -fail: - if (utf8_argv != NULL) { - for (i = 0; i < utf8_argc; ++i) - free(utf8_argv[i]); - free(utf8_argv); - } - if (argList != NULL) { - LocalFree(argList); - } - return EXIT_FAILURE; -} -#endif -- cgit v1.2.3