On Thu, Nov 19, 2015 at 09:49:09PM +0200, Vadim Kochan wrote: > Add cpp_exec func to invoke C preprocessor > which allow to change the logic in one place only. > > Signed-off-by: Vadim Kochan <[email protected]> > --- > cpp.c | 27 +++++++++++++++++++++++++++ > cpp.h | 6 ++++++ > 2 files changed, 33 insertions(+) > create mode 100644 cpp.c > create mode 100644 cpp.h > > diff --git a/cpp.c b/cpp.c > new file mode 100644 > index 0000000..8448252 > --- /dev/null > +++ b/cpp.c > @@ -0,0 +1,27 @@ > +#include <stdio.h> > +#include <libgen.h> > + > +#include "str.h" > +#include "xmalloc.h" > + > +int cpp_exec(char *in_file, char *out_file, size_t out_len) > +{ > + char cmd[256], *dir, *base; > + char *a = xstrdup(in_file); > + char *b = xstrdup(in_file); > + int ret = 0; > + > + dir = dirname(a); > + base = basename(b); > + > + slprintf(out_file, out_len, "%s/.tmp-%u-%s", dir, rand(), base); > + slprintf(cmd, sizeof(cmd), "cpp -I" ETCDIRE_STRING " %s > %s", > + in_file, out_file); > + > + if (system(cmd) != 0) > + ret = -1; > + > + xfree(a); > + xfree(b); > + return ret; > +} > diff --git a/cpp.h b/cpp.h > new file mode 100644 > index 0000000..ace1024 > --- /dev/null > +++ b/cpp.h > @@ -0,0 +1,6 @@ > +#ifndef CPP_H > +#define CPP_H > + > +int cpp_exec(char *in_file, char *out_file, size_t out_len);
I forgot to add 'extern' here, sorry, I will re-send v3 ... Regards, -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
