File xrdb-traditional-cpp.diff of Package xorg-x11
--- xrdb.c.orig 2010-06-25 12:46:40.000000000 +0200
+++ xrdb.c 2010-06-25 14:13:12.000000000 +0200
@@ -142,6 +142,7 @@
static Display *dpy;
static Buffer buffer;
static Entries newDB;
+static int cpp_option_in_use=0;
static void fatal(char *, ...);
static void addstring ( String *arg, const char *s );
@@ -807,6 +808,7 @@
} else if (isabbreviation ("-cpp", arg, 2)) {
if (++i >= argc) Syntax ();
cpp_program = argv[i];
+ cpp_option_in_use=1;
continue;
} else if (!strcmp ("-n", arg)) {
dont_execute = True;
@@ -1166,12 +1168,17 @@
fclose(input);
(void) mktemp(tmpname3);
if((cmd = (char *)
- malloc(strlen(cpp_program) + strlen(includes.val) +
+ malloc(strlen(cpp_program) + strlen(includes.val) + strlen(" -traditional-cpp ") +
1 + strlen(tmpname2) + 3 + strlen(tmpname3) + 1)) ==
NULL)
fatal("%s: Out of memory\n", ProgramName);
- sprintf(cmd, "%s%s %s > %s", cpp_program, includes.val,
+ if (cpp_option_in_use)) {
+ sprintf(cmd, "%s%s %s > %s", cpp_program, includes.val,
tmpname2, tmpname3);
+ } else {
+ sprintf(cmd, "%s -traditional-cpp %s %s > %s", cpp_program, includes.val,
+ tmpname2, tmpname3);
+ }
if (system(cmd) < 0)
fatal("%s: cannot run '%s'\n", ProgramName, cmd);
free(cmd);
@@ -1185,10 +1192,14 @@
fflush(stdin);
fseek(stdin, 0, 0);
if((cmd = (char *)
- malloc(strlen(cpp_program) + strlen(includes.val) + 1)) ==
+ malloc(strlen(cpp_program) + strlen(" -traditional-cpp ") + strlen(includes.val) + 1)) ==
NULL)
fatal("%s: Out of memory\n", ProgramName);
- sprintf(cmd, "%s%s", cpp_program, includes.val);
+ if (cpp_option_in_use) {
+ sprintf(cmd, "%s%s", cpp_program, includes.val);
+ } else {
+ sprintf(cmd, "%s -traditional-cpp %s", cpp_program, includes.val);
+ }
if (!(input = popen(cmd, "r")))
fatal("%s: cannot run '%s'\n", ProgramName, cmd);
free(cmd);
@@ -1203,15 +1214,21 @@
#ifdef WIN32
(void) mktemp(tmpname3);
if((cmd = (char *)
- malloc(strlen(cpp_program) + strlen(includes.val) +
+ malloc(strlen(cpp_program) + strlen(" -traditional-cpp ") + strlen(includes.val) +
1 + strlen(defines.val) + 1 +
strlen(filename ? filename : "") + 3 +
strlen(tmpname3) + 1)) ==
NULL)
fatal("%s: Out of memory\n", ProgramName);
- sprintf(cmd, "%s%s %s %s > %s", cpp_program,
- includes.val, defines.val,
- filename ? filename : "", tmpname3);
+ if (cpp_option_in_use) {
+ sprintf(cmd, "%s%s %s %s > %s", cpp_program,
+ includes.val, defines.val,
+ filename ? filename : "", tmpname3);
+ } else {
+ sprintf(cmd, "%s -traditional-cpp %s %s %s > %s", cpp_program,
+ includes.val, defines.val,
+ filename ? filename : "", tmpname3);
+ }
if (system(cmd) < 0)
fatal("%s: cannot run '%s'\n", ProgramName, cmd);
free(cmd);
@@ -1219,14 +1236,20 @@
fatal("%s: can't open file '%s'\n", ProgramName, tmpname3);
#else
if((cmd = (char *)
- malloc(strlen(cpp_program) + strlen(includes.val) + 1 +
+ malloc(strlen(cpp_program) + strlen(" -traditional-cpp ") + strlen(includes.val) + 1 +
strlen(defines.val) + 1 +
strlen(filename ? filename : "") + 1)) ==
NULL)
fatal("%s: Out of memory\n", ProgramName);
- sprintf(cmd, "%s%s %s %s", cpp_program,
- includes.val, defines.val,
- filename ? filename : "");
+ if (cpp_option_in_use) {
+ sprintf(cmd, "%s%s %s %s", cpp_program,
+ includes.val, defines.val,
+ filename ? filename : "");
+ } else {
+ sprintf(cmd, "%s -traditional-cpp %s %s %s", cpp_program,
+ includes.val, defines.val,
+ filename ? filename : "");
+ }
if (!(input = popen(cmd, "r")))
fatal("%s: cannot run '%s'\n", ProgramName, cmd);
free(cmd);