From 88bc2f3d403685eb613237b364c82c0042b74ee5 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Fri, 8 Jan 2016 02:53:13 +0000 Subject: Simplify the mparse_open() interface. Just return the file descriptor or -1 on error; there is just one kind of error anyway. Suggested by Christos Zoulas (NetBSD). --- read.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'read.c') diff --git a/read.c b/read.c index 52997bb0..0ef3cdfc 100644 --- a/read.c +++ b/read.c @@ -1,7 +1,7 @@ -/* $Id: read.c,v 1.147 2016/01/08 02:13:39 schwarze Exp $ */ +/* $Id: read.c,v 1.148 2016/01/08 02:53:13 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2010-2015 Ingo Schwarze + * Copyright (c) 2010-2016 Ingo Schwarze * Copyright (c) 2010, 2012 Joerg Sonnenberger * * Permission to use, copy, modify, and distribute this software for any @@ -539,8 +539,7 @@ rerun: if (curp->secondary) curp->secondary->sz -= pos + 1; save_file = curp->file; - if (mparse_open(curp, &fd, ln.buf + of) == - MANDOCLEVEL_OK) { + if ((fd = mparse_open(curp, ln.buf + of)) != -1) { mparse_readfd(curp, fd, ln.buf + of); close(fd); curp->file = save_file; @@ -777,10 +776,11 @@ mparse_readfd(struct mparse *curp, int fd, const char *file) return curp->file_status; } -enum mandoclevel -mparse_open(struct mparse *curp, int *fd, const char *file) +int +mparse_open(struct mparse *curp, const char *file) { char *cp; + int fd; curp->file = file; cp = strrchr(file, '.'); @@ -788,8 +788,8 @@ mparse_open(struct mparse *curp, int *fd, const char *file) /* First try to use the filename as it is. */ - if ((*fd = open(file, O_RDONLY)) != -1) - return MANDOCLEVEL_OK; + if ((fd = open(file, O_RDONLY)) != -1) + return fd; /* * If that doesn't work and the filename doesn't @@ -798,18 +798,18 @@ mparse_open(struct mparse *curp, int *fd, const char *file) if ( ! curp->gzip) { mandoc_asprintf(&cp, "%s.gz", file); - *fd = open(file, O_RDONLY); + fd = open(file, O_RDONLY); free(cp); - if (*fd != -1) { + if (fd != -1) { curp->gzip = 1; - return MANDOCLEVEL_OK; + return fd; } } /* Neither worked, give up. */ mandoc_msg(MANDOCERR_FILE, curp, 0, 0, strerror(errno)); - return MANDOCLEVEL_ERROR; + return -1; } struct mparse * -- cgit v1.2.3-56-ge451