- snprintf(buf, sizeof(buf), PREPROCESSOR " %s %s", flags, fname);
+ obstack_printf(&cppflags_obst, "%s", PREPROCESSOR);
+ if (dep_target[0] != '\0') {
+ add_flag(&cppflags_obst, "-MF");
+ add_flag(&cppflags_obst, "%s", dep_target);
+ if (outname != NULL) {
+ add_flag(&cppflags_obst, "-MQ");
+ add_flag(&cppflags_obst, "%s", outname);
+ }
+ }
+ if (flags[0] != '\0') {
+ obstack_printf(&cppflags_obst, " %s", flags);
+ }
+ add_flag(&cppflags_obst, "%s", fname);
+
+ obstack_1grow(&cppflags_obst, '\0');
+ const char *buf = obstack_finish(&cppflags_obst);