From c0e8c7e245c09598478302155b37a15f3370571f Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 4 Nov 2018 15:02:11 +0100 Subject: cleanup: let rdline_init open the file Signed-off-by: David Oberhollenzer --- lib/libcfg/rdline.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'lib/libcfg/rdline.c') diff --git a/lib/libcfg/rdline.c b/lib/libcfg/rdline.c index dbb3069..b0cd789 100644 --- a/lib/libcfg/rdline.c +++ b/lib/libcfg/rdline.c @@ -23,15 +23,23 @@ #include #include "libcfg.h" +#include "util.h" -void rdline_init(rdline_t *t, int fd, const char *filename, - int argc, const char *const *argv) +int rdline_init(rdline_t *t, int dirfd, const char *filename, + int argc, const char *const *argv) { memset(t, 0, sizeof(*t)); - t->fp = fdopen(fd, "r"); + + t->fp = fopenat(dirfd, filename, "r"); + if (t->fp == NULL) { + perror(filename); + return -1; + } + t->filename = filename; t->argc = argc; t->argv = argv; + return 0; } void rdline_cleanup(rdline_t *t) -- cgit v1.2.3