aboutsummaryrefslogtreecommitdiffstats
path: root/l4file.c
blob: b4f8a578afc8ff3429f800334a08dcced420fc10 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "l4file.h"

#include <stdio.h>

LbsArray* lbs_file_read_file_line_delim (FILE* infile, int delim) {
    LbsArray* str = lbs_array_new (sizeof (char));
    if (str == NULL){
        return NULL;
    }

    int c;
    char towrite;
    while ((c = getc (infile)) != delim && !feof (infile)) {
        towrite = c;
        if (lbs_array_append_var (str, towrite) < 0){
            lbs_array_unref (str);
            return NULL;
        }
    }
    towrite = '\0';
    if (lbs_array_append_var (str, towrite) < 0) {
        lbs_array_unref (str);
        return NULL;
    }
    return str;
}