From ee626636c3d438bc8c2dd53d7bca26c0c50eba98 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 19 May 2013 23:09:15 +0200 Subject: [PATCH] inpcom.c, abstraction, new_subckt_w_params() --- src/frontend/inpcom.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 6763072e6..9e6f8d298 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -1998,6 +1998,18 @@ inp_change_quotes(char *s) } +static void +new_subckt_w_params(char *str) +{ + if (num_subckt_w_params >= N_SUBCKT_W_PARAMS) { + fprintf(stderr, "ERROR, N_SUBCKT_W_PARMS overflow\n"); + controlled_exit(EXIT_FAILURE); + } + + subckt_w_params[num_subckt_w_params++] = str; +} + + static char* inp_fix_subckt(char *s) { @@ -2014,12 +2026,7 @@ inp_fix_subckt(char *s) for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2) && !isquote(*ptr2); ptr2++) ; - if (num_subckt_w_params >= N_SUBCKT_W_PARAMS) { - fprintf(stderr, "ERROR, N_SUBCKT_W_PARMS overflow\n"); - controlled_exit(EXIT_FAILURE); - } - - subckt_w_params[num_subckt_w_params++] = copy_substring(ptr1, ptr2); + new_subckt_w_params(copy_substring(ptr1, ptr2)); /* go to beginning of first parameter word */ /* s will contain only subckt definition */ @@ -2562,11 +2569,7 @@ inp_fix_subckt_multiplier(struct line *subckt_card, if (!strstr(subckt_card->li_line, "params:")) { new_str = TMALLOC(char, strlen(subckt_card->li_line) + 13); sprintf(new_str, "%s params: m=1", subckt_card->li_line); - if (num_subckt_w_params >= N_SUBCKT_W_PARAMS) { - fprintf(stderr, "ERROR, N_SUBCKT_W_PARMS overflow\n"); - controlled_exit(EXIT_FAILURE); - } - subckt_w_params[num_subckt_w_params++] = get_subckt_model_name(subckt_card->li_line); + new_subckt_w_params(get_subckt_model_name(subckt_card->li_line)); } else { new_str = TMALLOC(char, strlen(subckt_card->li_line) + 5); sprintf(new_str, "%s m=1", subckt_card->li_line); @@ -3821,11 +3824,7 @@ inp_add_params_to_subckt(struct line *subckt_card) subckt_name = skip_non_ws(subckt_card->li_line); subckt_name = skip_ws(subckt_name); end_ptr = skip_non_ws(subckt_name); - if (num_subckt_w_params >= N_SUBCKT_W_PARAMS) { - fprintf(stderr, "ERROR, N_SUBCKT_W_PARMS overflow\n"); - controlled_exit(EXIT_FAILURE); - } - subckt_w_params[num_subckt_w_params++] = copy_substring(subckt_name, end_ptr); + new_subckt_w_params(copy_substring(subckt_name, end_ptr)); } else { new_line = TMALLOC(char, strlen(subckt_line) + strlen(param_ptr) + 2); sprintf(new_line, "%s %s", subckt_line, param_ptr);