File 2904-ct-Fix-ct_run-to-work-with-space-in-path.patch of Package erlang
From c319f4c3fc0fbb3e0d50f40e366e595cd606b755 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Fri, 1 Apr 2022 16:38:27 +0200
Subject: [PATCH 4/9] ct: Fix ct_run to work with space in path
---
erts/etc/common/ct_run.c | 24 +-----------------------
1 file changed, 1 insertion(+), 23 deletions(-)
diff --git a/erts/etc/common/ct_run.c b/erts/etc/common/ct_run.c
index 0e9c2bea83..522c427691 100644
--- a/erts/etc/common/ct_run.c
+++ b/erts/etc/common/ct_run.c
@@ -77,7 +77,6 @@ static void* emalloc(size_t size);
static void efree(void *p);
#endif
static char* strsave(char* string);
-static void push_words(char* src);
static int run_erlang(char* name, char** argv);
static char* get_default_emulator(char* progname);
#ifdef __WIN32__
@@ -187,8 +186,7 @@ int main(int argc, char** argv)
eargv_base = (char **) emalloc(eargv_size*sizeof(char*));
eargv = eargv_base;
eargc = 0;
- push_words(emulator);
- free(emulator);
+ PUSH(emulator);
eargc_base = eargc;
eargv = eargv + eargv_size/2;
eargc = 0;
@@ -319,26 +317,6 @@ int main(int argc, char** argv)
return run_erlang(eargv[0], eargv);
}
-static void
-push_words(char* src)
-{
- char sbuf[MAXPATHLEN];
- char* dst;
-
- dst = sbuf;
- while ((*dst++ = *src++) != '\0') {
- if (isspace((int)*src)) {
- *dst = '\0';
- PUSH(strsave(sbuf));
- dst = sbuf;
- do {
- src++;
- } while (isspace((int)*src));
- }
- }
- if (sbuf[0])
- PUSH(strsave(sbuf));
-}
#ifdef __WIN32__
wchar_t *make_commandline(char **argv)
{
--
2.35.3