projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix
[cparser]
/
main.c
diff --git
a/main.c
b/main.c
index
ae849a9
..
b9b62e1
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-231,20
+231,29
@@
static void lextest(FILE *in, const char *fname)
do {
lexer_next_preprocessing_token();
print_token(stdout, &lexer_token);
do {
lexer_next_preprocessing_token();
print_token(stdout, &lexer_token);
- put
s(""
);
+ put
char('\n'
);
} while (lexer_token.type != T_EOF);
}
static void add_flag(struct obstack *obst, const char *format, ...)
{
} while (lexer_token.type != T_EOF);
}
static void add_flag(struct obstack *obst, const char *format, ...)
{
+ char buf[4096];
va_list ap;
va_list ap;
- va_start(ap, format);
- char buf[4096];
- vsnprintf(buf, sizeof(buf), format, ap);
+ va_start(ap, format);
+#ifdef _WIN32
+ int len =
+#endif
+ vsnprintf(buf, sizeof(buf), format, ap);
+ va_end(ap);
- /* escape stuff... */
obstack_1grow(obst, ' ');
obstack_1grow(obst, ' ');
+#ifdef _WIN32
+ obstack_1grow(obst, '"');
+ obstack_grow(obst, buf, len);
+ obstack_1grow(obst, '"');
+#else
+ /* escape stuff... */
for (char *c = buf; *c != '\0'; ++c) {
switch(*c) {
case '"':
for (char *c = buf; *c != '\0'; ++c) {
switch(*c) {
case '"':
@@
-259,23
+268,12
@@
static void add_flag(struct obstack *obst, const char *format, ...)
case '(':
case ')':
obstack_1grow(obst, '\\');
case '(':
case ')':
obstack_1grow(obst, '\\');
- /*
fallthrough
*/
+ /*
FALLTHROUGH
*/
default:
obstack_1grow(obst, *c);
break;
}
}
default:
obstack_1grow(obst, *c);
break;
}
}
- va_end(ap);
-}
-
-static void add_quoted_string(struct obstack *obst, const char *s)
-{
-#ifdef _WIN32
- obstack_1grow(obst, '"');
- obstack_grow(obst, s, strlen(s));
- obstack_1grow(obst, '"');
-#else
- add_flag(obst, "%s", s);
#endif
}
#endif
}
@@
-294,26
+292,23
@@
static FILE *preprocess(const char *fname)
/* setup default defines */
add_flag(&cppflags_obst, "-U__WCHAR_TYPE__");
/* setup default defines */
add_flag(&cppflags_obst, "-U__WCHAR_TYPE__");
- add_flag(&cppflags_obst, "-D__WCHAR_TYPE__=");
- add_quoted_string(&cppflags_obst, type_to_string(type_wchar_t));
+ add_flag(&cppflags_obst, "-D__WCHAR_TYPE__=%s", type_to_string(type_wchar_t));
add_flag(&cppflags_obst, "-U__SIZE_TYPE__");
add_flag(&cppflags_obst, "-U__SIZE_TYPE__");
- add_flag(&cppflags_obst, "-D__SIZE_TYPE__=");
- add_quoted_string(&cppflags_obst, type_to_string(type_size_t));
+ add_flag(&cppflags_obst, "-D__SIZE_TYPE__=%s", type_to_string(type_size_t));
/* handle dependency generation */
if (dep_target[0] != '\0') {
add_flag(&cppflags_obst, "-MF");
/* handle dependency generation */
if (dep_target[0] != '\0') {
add_flag(&cppflags_obst, "-MF");
- add_
quoted_strin
g(&cppflags_obst, dep_target);
+ add_
fla
g(&cppflags_obst, dep_target);
if (outname != NULL) {
add_flag(&cppflags_obst, "-MQ");
if (outname != NULL) {
add_flag(&cppflags_obst, "-MQ");
- add_
quoted_strin
g(&cppflags_obst, outname);
+ add_
fla
g(&cppflags_obst, outname);
}
}
if (flags[0] != '\0') {
obstack_printf(&cppflags_obst, " %s", flags);
}
}
}
if (flags[0] != '\0') {
obstack_printf(&cppflags_obst, " %s", flags);
}
- obstack_1grow(&cppflags_obst, ' ');
- add_quoted_string(&cppflags_obst, fname);
+ add_flag(&cppflags_obst, fname);
obstack_1grow(&cppflags_obst, '\0');
const char *buf = obstack_finish(&cppflags_obst);
obstack_1grow(&cppflags_obst, '\0');
const char *buf = obstack_finish(&cppflags_obst);