cleanup, use tprintf()

This commit is contained in:
rlar 2013-05-19 22:20:16 +02:00
parent cc56c90b9d
commit 7813f6cf6a
1 changed files with 18 additions and 15 deletions

View File

@ -1206,7 +1206,7 @@ inp_chk_for_multi_in_vcvs(struct line *c, int *line_number)
struct line *a_card, *model_card, *next_card;
char *str_ptr1, *str_ptr2, keep, *comma_ptr, *xy_values1[5], *xy_values2[5];
char *node_str, *ctrl_node_str, *xy_str1, *model_name, *fcn_name;
char big_buf[1000];
char *m_instance, *m_model;
int xy_count1, xy_count2;
str_ptr1 = skip_non_ws(line);
@ -1262,15 +1262,15 @@ inp_chk_for_multi_in_vcvs(struct line *c, int *line_number)
if (xy_count1 != 2 && xy_count2 != 2)
fprintf(stderr, "ERROR: only expecting 2 pair values for multi-input vcvs!\n");
sprintf(big_buf, "%s %%vd[ %s ] %%vd( %s ) %s",
model_name, ctrl_node_str, node_str, model_name);
a_card = xx_new_line(NULL, copy(big_buf), *(line_number)++, 0);
*a_card->li_line = 'a';
m_instance = tprintf("%s %%vd[ %s ] %%vd( %s ) %s",
model_name, ctrl_node_str, node_str, model_name);
m_instance[0] = 'a';
a_card = xx_new_line(NULL, m_instance, *(line_number)++, 0);
sprintf(big_buf, ".model %s multi_input_pwl ( x = [%s %s] y = [%s %s] model = \"%s\" )",
model_name, xy_values1[0], xy_values2[0],
xy_values1[1], xy_values2[1], fcn_name);
model_card = xx_new_line(NULL, copy(big_buf), (*line_number)++, 0);
m_model = tprintf(".model %s multi_input_pwl ( x = [%s %s] y = [%s %s] model = \"%s\" )",
model_name, xy_values1[0], xy_values2[0],
xy_values1[1], xy_values2[1], fcn_name);
model_card = xx_new_line(NULL, m_model, (*line_number)++, 0);
tfree(model_name);
tfree(node_str);
@ -2495,7 +2495,6 @@ inp_get_params(char *line, char *param_names[], char *param_values[])
char *equal_ptr = strchr(line, '=');
char *end, *name, *value;
int num_params = 0;
char tmp_str[1000];
char keep;
bool is_expression = FALSE;
@ -2526,12 +2525,16 @@ inp_get_params(char *line, char *param_names[], char *param_values[])
keep = *end;
*end = '\0';
if (*value != '{' &&
!(isdigit(*value) || (*value == '.' && isdigit(value[1])))) {
sprintf(tmp_str, "{%s}", value);
value = tmp_str;
if (*value == '{' ||
isdigit(*value) ||
(*value == '.' && isdigit(value[1])))
{
value = copy(value);
} else {
value = tprintf("{%s}", value);
}
param_values[num_params-1] = strdup(value);
param_values[num_params-1] = value;
*end = keep;
line = end;