From bbff09033370ecee3ed999fe094494463c338add Mon Sep 17 00:00:00 2001 From: midipix Date: Fri, 8 Jan 2016 15:09:12 -0500 Subject: amgc_perform_unit_action(): initial implementation and integration. --- src/apimagic.c | 16 +--------------- src/driver/amgc_unit_action.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 src/driver/amgc_unit_action.c (limited to 'src') diff --git a/src/apimagic.c b/src/apimagic.c index f89df43..6d92db6 100644 --- a/src/apimagic.c +++ b/src/apimagic.c @@ -26,21 +26,7 @@ static void apimagic_perform_unit_actions(struct amgc_unit_ctx * uctx) const struct amgc_action * action; for (action=uctx->cctx->actions; action->type; action++) - switch (action->action) { - case AMGC_OUTPUT_ENUM: - if (action->symbol) - (void)0; - else - amgc_output_unit_enums(uctx,0,stdout); - break; - - case AMGC_LIST_ENUM: - if (action->symbol) - (void)0; - else - amgc_list_unit_enums(uctx,0,stdout); - break; - } + amgc_perform_unit_action(uctx,action,0,stdout); } static int apimagic_exit(struct amgc_driver_ctx * dctx, int nerrors) diff --git a/src/driver/amgc_unit_action.c b/src/driver/amgc_unit_action.c new file mode 100644 index 0000000..04cfb8f --- /dev/null +++ b/src/driver/amgc_unit_action.c @@ -0,0 +1,31 @@ +/**********************************************************/ +/* apimagic: cparser-based API normalization utility */ +/* Copyright (C) 2015--2016 Z. Gilboa */ +/* Released under GPLv2 and GPLv3; see COPYING.APIMAGIC. */ +/**********************************************************/ + +#include +#include "apimagic_driver_impl.h" + +int amgc_perform_unit_action( + const struct amgc_unit_ctx * uctx, + const struct amgc_action * action, + const struct amgc_layout * layout, + FILE * fout) +{ + switch (action->action) { + case AMGC_OUTPUT_ENUM: + if (action->symbol) + return -1; + else + return amgc_output_unit_enums(uctx,0,stdout); + + case AMGC_LIST_ENUM: + if (action->symbol) + return -1; + else + return amgc_list_unit_enums(uctx,0,stdout); + } + + return -1; +} -- cgit v1.2.3