/* vi: set sw=4 ts=4: */
/*
 * fclose_nonstdin implementation for busybox
 *
 * Copyright (C) 2003  Manuel Novoa III  <mjn3@codepoet.org>
 *
 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
 */

/* A number of standard utilities can accept multiple command line args
 * of '-' for stdin, according to SUSv3.  So we encapsulate the check
 * here to save a little space.
 */

#include "libbb.h"

int FAST_FUNC fclose_if_not_stdin(FILE *f)
{
	/* Some more paranoid applets want ferror() check too */
	int r = ferror(f); /* NB: does NOT set errno! */
	if (r)
		errno = EIO; /* so we'll help it */
	if (f != stdin)
		return (r | fclose(f)); /* fclose does set errno on error */
	return r;
}
