source: MondoRescue/branches/3.3/mindi-busybox/libbb/fclose_nonstdin.c@ 3906

Last change on this file since 3906 was 3621, checked in by Bruno Cornec, 10 years ago

New 3?3 banch for incorporation of latest busybox 1.25. Changing minor version to handle potential incompatibilities.

File size: 709 bytes
Line 
1/* vi: set sw=4 ts=4: */
2/*
3 * fclose_nonstdin implementation for busybox
4 *
5 * Copyright (C) 2003 Manuel Novoa III <mjn3@codepoet.org>
6 *
7 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
8 */
9
10/* A number of standard utilities can accept multiple command line args
11 * of '-' for stdin, according to SUSv3. So we encapsulate the check
12 * here to save a little space.
13 */
14
15#include "libbb.h"
16
17int FAST_FUNC fclose_if_not_stdin(FILE *f)
18{
19 /* Some more paranoid applets want ferror() check too */
20 int r = ferror(f); /* NB: does NOT set errno! */
21 if (r)
22 errno = EIO; /* so we'll help it */
23 if (f != stdin)
24 return (r | fclose(f)); /* fclose does set errno on error */
25 return r;
26}
Note: See TracBrowser for help on using the repository browser.