From 0d3dde49e65c9de9dff41933ceb64fa28635499d Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 28 Nov 2015 07:14:21 -0500 Subject: pretty printer: yaml support: initial implementation. --- src/driver/pe_driver_ctx.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/driver') diff --git a/src/driver/pe_driver_ctx.c b/src/driver/pe_driver_ctx.c index 97ff3fa..32e0819 100644 --- a/src/driver/pe_driver_ctx.c +++ b/src/driver/pe_driver_ctx.c @@ -8,6 +8,7 @@ enum app_tags { TAG_HELP, TAG_VERSION, TAG_OUTPUT, + TAG_PRETTY, TAG_EXPSYMS, TAG_IMPLIBS, TAG_IMPSYMS, @@ -24,6 +25,9 @@ static const struct argv_option options[] = { {"output", 'o',TAG_OUTPUT, ARGV_OPTARG_REQUIRED, 0,"", "write output to %s"}, + {"pretty", 'p',TAG_PRETTY, ARGV_OPTARG_REQUIRED, "yaml",0, + "format output for parsing by %s"}, + {"expsyms", 'e',TAG_EXPSYMS,ARGV_OPTARG_NONE, 0,0, "print exported symbols" }, @@ -127,6 +131,7 @@ int pe_get_driver_ctx( uint64_t fflags; const char * program; const char * output; + const char * pretty; int fdout; if (!(meta = argv_get(argv,options,pe_argv_flags(flags)))) @@ -135,6 +140,7 @@ int pe_get_driver_ctx( dflags = 0; fflags = 0; output = 0; + pretty = 0; nunits = 0; program = argv_program_name(argv[0]); @@ -157,6 +163,10 @@ int pe_get_driver_ctx( output = entry->arg; break; + case TAG_PRETTY: + pretty = entry->arg; + break; + case TAG_EXPSYMS: fflags |= PERK_OUTPUT_EXPORT_SYMS; break; @@ -184,6 +194,9 @@ int pe_get_driver_ctx( if (!ctx) return pe_get_driver_ctx_fail(meta); + if (pretty && !strcmp(pretty,"yaml")) + fflags |= PERK_PRETTY_YAML; + ctx->program = program; ctx->cctx.drvflags = dflags; ctx->cctx.fmtflags = fflags; -- cgit v1.2.3