From e7972b56ad51f66e411a9059db79586dff8ee2ad Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm Date: Mon, 17 Nov 2025 14:16:56 +0100 Subject: [PATCH] inial commit --- CMakeLists.txt | 4 ++++ main.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 main.c diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f1d2cb8 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.16) +project(winecmdwrap C) + +add_executable(${PROJECT_NAME} main.c) diff --git a/main.c b/main.c new file mode 100644 index 0000000..0ac02a8 --- /dev/null +++ b/main.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + if(argc < 2) { + puts("Usage: winecdmwrap.exe [PROGRAM] [ARGS]"); + return 1; + } + + size_t len = 0; + for(int i = 1; i < argc; ++i) + len += strlen(argv[i])+1; + const char* uniprefix = "cmd /c start /unix "; + len+=strlen(uniprefix); + char* cmd = calloc(1, len); + strcat(cmd, uniprefix); + + for(int i = 1; i < argc; ++i) { + len += strlen(argv[i])+1; + strcat(cmd, argv[i]); + strcat(cmd, " "); + } + + printf("running command: %s\n", cmd); + + system(cmd); + + return 0; +}