Extend cpp_exec func to pass cpp arguments

Signed-off-by: Vadim Kochan <vadi...@gmail.com>
---
 bpf_parser.y     | 2 +-
 cpp.c            | 6 +++---
 cpp.h            | 2 +-
 trafgen_parser.y | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bpf_parser.y b/bpf_parser.y
index 8aed9dc..db6a007 100644
--- a/bpf_parser.y
+++ b/bpf_parser.y
@@ -745,7 +745,7 @@ int compile_filter(char *file, int verbose, int bypass, int 
format,
        memset(tmp_file, 0, sizeof(tmp_file));
 
        if (invoke_cpp) {
-               ret = cpp_exec(file, tmp_file, sizeof(tmp_file));
+               ret = cpp_exec(file, tmp_file, sizeof(tmp_file), NULL);
                if (ret) {
                        fprintf(stderr, "Failed to invoke C preprocessor!\n");
                        goto exit;
diff --git a/cpp.c b/cpp.c
index 6734eac..99c4c33 100644
--- a/cpp.c
+++ b/cpp.c
@@ -4,7 +4,7 @@
 #include "str.h"
 #include "xmalloc.h"
 
-int cpp_exec(char *in_file, char *out_file, size_t out_len)
+int cpp_exec(char *in_file, char *out_file, size_t out_len, char *args)
 {
        char *tmp = xstrdup(in_file);
        char cmd[256], *base;
@@ -13,8 +13,8 @@ int cpp_exec(char *in_file, char *out_file, size_t out_len)
        base = basename(tmp);
 
        slprintf(out_file, out_len, "/tmp/.tmp-%u-%s", rand(), base);
-       slprintf(cmd, sizeof(cmd), "cpp -I" ETCDIRE_STRING " %s > %s",
-                in_file, out_file);
+       slprintf(cmd, sizeof(cmd), "cpp -I" ETCDIRE_STRING " %s %s > %s",
+                args ? args : "", in_file, out_file);
 
        if (system(cmd) != 0)
                ret = -1;
diff --git a/cpp.h b/cpp.h
index a3e295d..c4ef020 100644
--- a/cpp.h
+++ b/cpp.h
@@ -1,6 +1,6 @@
 #ifndef CPP_H
 #define CPP_H
 
-extern int cpp_exec(char *in_file, char *out_file, size_t out_len);
+extern int cpp_exec(char *in_file, char *out_file, size_t out_len, char *args);
 
 #endif
diff --git a/trafgen_parser.y b/trafgen_parser.y
index 44751ab..8a0f3b7 100644
--- a/trafgen_parser.y
+++ b/trafgen_parser.y
@@ -599,7 +599,7 @@ void compile_packets(char *file, bool verbose, unsigned int 
cpu, bool invoke_cpp
        our_cpu = cpu;
 
        if (invoke_cpp) {
-               if (cpp_exec(file, tmp_file, sizeof(tmp_file))) {
+               if (cpp_exec(file, tmp_file, sizeof(tmp_file), NULL)) {
                        fprintf(stderr, "Failed to invoke C preprocessor!\n");
                        goto err;
                }
-- 
2.6.2

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netsniff-ng+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to