aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--l4darr/d1arrstr.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/l4darr/d1arrstr.c b/l4darr/d1arrstr.c
index 212760e..2c6e631 100644
--- a/l4darr/d1arrstr.c
+++ b/l4darr/d1arrstr.c
@@ -31,13 +31,17 @@ L4DA* l4da_filereadline_delim(FILE* infile, int chr){
}
int c;
char towrite;
- do{
- c = getc(infile);
+ while((c = getc(infile)) != chr && !feof(infile)){
towrite = c;
if(l4da_pushback(newarr, (void*)&towrite) < 0){
l4da_free(newarr);
return NULL;
}
- }while(c != chr);
+ }
+ towrite = '\0';
+ if(l4da_pushback(newarr, (void*)&towrite) < 0){
+ l4da_free(newarr);
+ return NULL;
+ }
return newarr;
}