=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/read.c,v retrieving revision 1.121 retrieving revision 1.122 diff -c -r1.121 -r1.122 *** src/usr.bin/mandoc/read.c 2016/01/08 02:13:35 1.121 --- src/usr.bin/mandoc/read.c 2016/01/08 02:53:09 1.122 *************** *** 1,7 **** ! /* $OpenBSD: read.c,v 1.121 2016/01/08 02:13:35 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons ! * Copyright (c) 2010-2015 Ingo Schwarze * Copyright (c) 2010, 2012 Joerg Sonnenberger * * Permission to use, copy, modify, and distribute this software for any --- 1,7 ---- ! /* $OpenBSD: read.c,v 1.122 2016/01/08 02:53:09 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons ! * Copyright (c) 2010-2016 Ingo Schwarze * Copyright (c) 2010, 2012 Joerg Sonnenberger * * Permission to use, copy, modify, and distribute this software for any *************** *** 532,539 **** if (curp->secondary) curp->secondary->sz -= pos + 1; save_file = curp->file; ! if (mparse_open(curp, &fd, ln.buf + of) == ! MANDOCLEVEL_OK) { mparse_readfd(curp, fd, ln.buf + of); close(fd); curp->file = save_file; --- 532,538 ---- if (curp->secondary) curp->secondary->sz -= pos + 1; save_file = curp->file; ! if ((fd = mparse_open(curp, ln.buf + of)) != -1) { mparse_readfd(curp, fd, ln.buf + of); close(fd); curp->file = save_file; *************** *** 752,761 **** return curp->file_status; } ! enum mandoclevel ! mparse_open(struct mparse *curp, int *fd, const char *file) { char *cp; curp->file = file; cp = strrchr(file, '.'); --- 751,761 ---- return curp->file_status; } ! int ! mparse_open(struct mparse *curp, const char *file) { char *cp; + int fd; curp->file = file; cp = strrchr(file, '.'); *************** *** 763,770 **** /* First try to use the filename as it is. */ ! if ((*fd = open(file, O_RDONLY)) != -1) ! return MANDOCLEVEL_OK; /* * If that doesn't work and the filename doesn't --- 763,770 ---- /* First try to use the filename as it is. */ ! if ((fd = open(file, O_RDONLY)) != -1) ! return fd; /* * If that doesn't work and the filename doesn't *************** *** 773,790 **** if ( ! curp->gzip) { mandoc_asprintf(&cp, "%s.gz", file); ! *fd = open(file, O_RDONLY); free(cp); ! if (*fd != -1) { curp->gzip = 1; ! return MANDOCLEVEL_OK; } } /* Neither worked, give up. */ mandoc_msg(MANDOCERR_FILE, curp, 0, 0, strerror(errno)); ! return MANDOCLEVEL_ERROR; } struct mparse * --- 773,790 ---- if ( ! curp->gzip) { mandoc_asprintf(&cp, "%s.gz", file); ! fd = open(file, O_RDONLY); free(cp); ! if (fd != -1) { curp->gzip = 1; ! return fd; } } /* Neither worked, give up. */ mandoc_msg(MANDOCERR_FILE, curp, 0, 0, strerror(errno)); ! return -1; } struct mparse *