diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index d3744f5..d279997 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -86,6 +86,7 @@ static int slbt_get_deps_meta( int ret; FILE * fdeps; struct stat st; + char * deplib; char depfile[4*PATH_MAX]; char * deplibs = depfile; @@ -122,8 +123,10 @@ static int slbt_get_deps_meta( depsmeta->infolen += st.st_size; depsmeta->infolen++; - while (fscanf(fdeps,"%s\n",deplibs) == 1) + for (deplib=fgets(deplibs,st.st_size+1,fdeps); deplib; ) { depsmeta->depscnt++; + deplib = fgets(deplibs,st.st_size+1,fdeps); + } if (deplibs != depfile) free(deplibs);