From f530d33848301907a4f1ed98a65c0f5be9139693 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 25 Oct 2016 23:49:24 -0400 Subject: utility: error trace and error information: initial integration. --- src/driver/sfrt_amain.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/driver/sfrt_amain.c b/src/driver/sfrt_amain.c index ebed412..324a010 100644 --- a/src/driver/sfrt_amain.c +++ b/src/driver/sfrt_amain.c @@ -45,22 +45,18 @@ static void sfrt_perform_unit_actions( { uint64_t flags = dctx->cctx->actflags; /* dummy */ /* dummy */ - if (flags & SFRT_OUTPUT_NAME) { /* dummy */ - uctx->status = sfrt_output_name(uctx,stdout); /* dummy */ - uctx->nerrors += !!uctx->status; /* dummy */ - } /* dummy */ + if (flags & SFRT_OUTPUT_NAME) /* dummy */ + sfrt_output_name(uctx,stdout); /* dummy */ /* dummy */ - if (flags & SFRT_OUTPUT_ADDRESS) { /* dummy */ - uctx->status = sfrt_output_address(uctx,stdout);/* dummy */ - uctx->nerrors += !!uctx->status; /* dummy */ - } /* dummy */ - (void)uctx; + if (flags & SFRT_OUTPUT_ADDRESS) /* dummy */ + sfrt_output_address(uctx,stdout); /* dummy */ } -static int sfrt_exit(struct sfrt_driver_ctx * dctx, int nerrors) +static int sfrt_exit(struct sfrt_driver_ctx * dctx, int ret) { + sfrt_output_error_vector(dctx); sfrt_free_driver_ctx(dctx); - return nerrors ? 2 : 0; + return ret; } int sfrt_main(int argc, char ** argv, char ** envp) @@ -84,10 +80,9 @@ int sfrt_main(int argc, char ** argv, char ** envp) for (unit=dctx->units; *unit; unit++) { if (!(sfrt_get_unit_ctx(dctx,*unit,&uctx))) { sfrt_perform_unit_actions(dctx,uctx); - ret += uctx->nerrors; sfrt_free_unit_ctx(uctx); } } - return sfrt_exit(dctx,ret); + return sfrt_exit(dctx,dctx->errv[0] ? 2 : 0); } -- cgit v1.2.3