msys2: launcher: fix warnings and errors under g++

When building under G++, certain C-isms no longer work.  For example,
we must now cast the return from `calloc()`.

Fix `launcher.c` so that it builds under whatever $CXX is set to,
which is usually a C++ compiler.

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2019-09-08 15:50:24 +08:00
parent c1b628508d
commit 417f3fe6b1
1 changed files with 4 additions and 4 deletions

View File

@ -65,7 +65,7 @@ SOFTWARE. */
int child_pid=0; int child_pid=0;
int fail(char *format, char *data) { int fail(const char *format, const char *data) {
/* Print error message to stderr and return 2 */ /* Print error message to stderr and return 2 */
fprintf(stderr, format, data); fprintf(stderr, format, data);
return 2; return 2;
@ -76,7 +76,7 @@ char *quoted(char *data) {
/* We allocate twice as much space as needed to deal with worse-case /* We allocate twice as much space as needed to deal with worse-case
of having to escape everything. */ of having to escape everything. */
char *result = calloc(ln*2+3, sizeof(char)); char *result = (char *)calloc(ln*2+3, sizeof(char));
char *presult = result; char *presult = result;
*presult++ = '"'; *presult++ = '"';
@ -120,7 +120,7 @@ char *loadable_exe(char *exename) {
if (!hPython) return NULL; */ if (!hPython) return NULL; */
/* Return the absolute filename for spawnv */ /* Return the absolute filename for spawnv */
result = calloc(MAX_PATH, sizeof(char)); result = (char *)calloc(MAX_PATH, sizeof(char));
strncpy(result, exename, MAX_PATH); strncpy(result, exename, MAX_PATH);
/*if (result) GetModuleFileNameA(hPython, result, MAX_PATH); /*if (result) GetModuleFileNameA(hPython, result, MAX_PATH);
@ -158,7 +158,7 @@ char **parse_argv(char *cmdline, int *argc)
{ {
/* Parse a command line in-place using MS C rules */ /* Parse a command line in-place using MS C rules */
char **result = calloc(strlen(cmdline), sizeof(char *)); char **result = (char **)calloc(strlen(cmdline), sizeof(char *));
char *output = cmdline; char *output = cmdline;
char c; char c;
int nb = 0; int nb = 0;