/* resrc.c -- read and write Windows rc files.
- Copyright (C) 1997-2022 Free Software Foundation, Inc.
+ Copyright (C) 1997-2023 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
Rewritten by Kai Tietz, Onevision.
/* The default preprocessor. */
-#define DEFAULT_PREPROCESSOR "gcc -E -xc -DRC_INVOKED"
+#define DEFAULT_PREPROCESSOR_CMD "gcc"
+#define DEFAULT_PREPROCESSOR_ARGS "-E -xc -DRC_INVOKED"
/* We read the directory entries in a cursor or icon file into
instances of this structure. */
int pid, wait_status, retcode;
int i;
const char **argv;
- char *errmsg_fmt, *errmsg_arg;
- char *temp_base = choose_temp_base ();
+ char *errmsg_fmt = NULL, *errmsg_arg = NULL;
+ char *temp_base = make_temp_file (NULL);
int in_quote;
char sep;
int redir_handle = -1;
{
char *fileprefix;
- fileprefix = choose_temp_base ();
+ fileprefix = make_temp_file (NULL);
cpp_temp_file = (char *) xmalloc (strlen (fileprefix) + 5);
sprintf (cpp_temp_file, "%s.irc", fileprefix);
free (fileprefix);
look_for_default (char *cmd, const char *prefix, int end_prefix,
const char *preprocargs, const char *filename)
{
- char *space;
int found;
struct stat s;
const char *fnquotes = (filename_need_quotes (filename) ? "\"" : "");
strcpy (cmd, prefix);
- sprintf (cmd + end_prefix, "%s", DEFAULT_PREPROCESSOR);
- space = strchr (cmd + end_prefix, ' ');
- if (space)
- *space = 0;
+ sprintf (cmd + end_prefix, "%s", DEFAULT_PREPROCESSOR_CMD);
if (
#if defined (__DJGPP__) || defined (__CYGWIN__) || defined (_WIN32)
}
}
- strcpy (cmd, prefix);
+ if (filename_need_quotes (cmd))
+ {
+ char *cmd_copy = xmalloc (strlen (cmd));
+ strcpy (cmd_copy, cmd);
+ sprintf (cmd, "\"%s\"", cmd_copy);
+ free (cmd_copy);
+ }
- sprintf (cmd + end_prefix, "%s %s %s%s%s",
- DEFAULT_PREPROCESSOR, preprocargs, fnquotes, filename, fnquotes);
+ sprintf (cmd + strlen (cmd), " %s %s %s%s%s",
+ DEFAULT_PREPROCESSOR_ARGS, preprocargs, fnquotes, filename, fnquotes);
if (verbose)
fprintf (stderr, _("Using `%s'\n"), cmd);
{
char *dash, *slash, *cp;
- preprocessor = DEFAULT_PREPROCESSOR;
-
cmd = xmalloc (strlen (program_name)
- + strlen (preprocessor)
+ + strlen (DEFAULT_PREPROCESSOR_CMD)
+ + strlen (DEFAULT_PREPROCESSOR_ARGS)
+ strlen (preprocargs)
+ strlen (filename)
+ strlen (fnquotes) * 2