inpcom.c: rewrite using new function find_lib()
This commit is contained in:
parent
97994080b4
commit
2c2a7d010b
|
|
@ -102,6 +102,17 @@ static void inp_poly_err(struct line *deck);
|
|||
#endif
|
||||
|
||||
|
||||
static int
|
||||
find_lib(char *s)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < num_libraries; i++)
|
||||
if (cieq(library_file[i], s))
|
||||
return i;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
find_lib_name(int i, char *s) {
|
||||
int j;
|
||||
|
|
@ -400,7 +411,6 @@ inp_readall(FILE *fp, struct line **data, int call_depth, char *dir_name, bool c
|
|||
/* library section reference: `.lib <library-file> <section-name>' */
|
||||
|
||||
char *copyy = NULL;
|
||||
int i;
|
||||
|
||||
if (*y == '~') {
|
||||
copyy = cp_tildexpand(y); /* allocates memory, but can also return NULL */
|
||||
|
|
@ -408,11 +418,7 @@ inp_readall(FILE *fp, struct line **data, int call_depth, char *dir_name, bool c
|
|||
y = copyy; /* reuse y, but remember, buffer still points to allocated memory */
|
||||
}
|
||||
|
||||
for (i = 0; i < num_libraries; i++)
|
||||
if (cieq(library_file[i], y))
|
||||
break;
|
||||
|
||||
if (i >= num_libraries) {
|
||||
if (find_lib(y) < 0) {
|
||||
|
||||
bool dir_name_flag = FALSE;
|
||||
FILE *newfp = inp_pathopen(y, "r");
|
||||
|
|
@ -2382,11 +2388,8 @@ inp_determine_libraries(struct line *deck, char *lib_name)
|
|||
if (copys)
|
||||
s = copys;
|
||||
}
|
||||
for (i = 0; i < num_libraries; i++)
|
||||
if (cieq(library_file[i], s)) {
|
||||
break;
|
||||
}
|
||||
if (i < num_libraries)
|
||||
i = find_lib(s);
|
||||
if (i >= 0)
|
||||
if (find_lib_name(i, y) < 0) {
|
||||
new_lib_name(i, y, c);
|
||||
/* see if other libraries referenced */
|
||||
|
|
|
|||
Loading…
Reference in New Issue