inpcom.c, think in terms of struct library instead of an integer

This commit is contained in:
rlar 2013-05-18 22:46:08 +02:00
parent 811edbcafb
commit 0132e3cc0c
1 changed files with 10 additions and 10 deletions

View File

@ -118,14 +118,14 @@ static void inp_poly_err(struct line *deck);
#endif #endif
static int static struct library *
find_lib(char *name) find_lib(char *name)
{ {
int i; int i;
for (i = 0; i < num_libraries; i++) for (i = 0; i < num_libraries; i++)
if (cieq(libraries[i].name, name)) if (cieq(libraries[i].name, name))
return i; return & libraries[i];
return -1; return NULL;
} }
@ -178,7 +178,7 @@ read_a_lib(char *y, int call_depth, char *dir_name)
y = copyy; /* reuse y, but remember, buffer still points to allocated memory */ y = copyy; /* reuse y, but remember, buffer still points to allocated memory */
} }
if (find_lib(y) < 0) { if (!find_lib(y)) {
bool dir_name_flag = FALSE; bool dir_name_flag = FALSE;
FILE *newfp = inp_pathopen(y, "r"); FILE *newfp = inp_pathopen(y, "r");
@ -2308,7 +2308,7 @@ expand_section_references(struct line *deck, int call_depth, char *dir_name)
struct line *section_def; struct line *section_def;
char keep_char1, keep_char2; char keep_char1, keep_char2;
char *z, *copys = NULL; char *z, *copys = NULL;
int lib_idx; struct library *lib;
for (z = y; *z && !isspace(*z) && !isquote(*z); z++) for (z = y; *z && !isspace(*z) && !isquote(*z); z++)
; ;
@ -2323,22 +2323,22 @@ expand_section_references(struct line *deck, int call_depth, char *dir_name)
s = copys; s = copys;
} }
lib_idx = find_lib(s); lib = find_lib(s);
if (lib_idx < 0) { if (!lib) {
if(!read_a_lib(s, call_depth, dir_name)) if(!read_a_lib(s, call_depth, dir_name))
controlled_exit(EXIT_FAILURE); controlled_exit(EXIT_FAILURE);
lib_idx = find_lib(s); lib = find_lib(s);
} }
if (lib_idx < 0) { if (!lib) {
fprintf(stderr, "ERROR, library file %s not found\n", s); fprintf(stderr, "ERROR, library file %s not found\n", s);
controlled_exit(EXIT_FAILURE); controlled_exit(EXIT_FAILURE);
} }
section_def = find_section_definition(libraries[lib_idx].deck, y); section_def = find_section_definition(lib->deck, y);
if (!section_def) { if (!section_def) {
fprintf(stderr, "ERROR, library file %s, section definition %s not found\n", s, y); fprintf(stderr, "ERROR, library file %s, section definition %s not found\n", s, y);