blob: d764f1d060be923aac5047cf4ce711a28114cf4f [file] [log] [blame]
Manuel Novoa III cad53642003-03-19 09:13:01 +00001/* vi: set sw=4 ts=4: */
2/*
3 * wfopen_input implementation for busybox
4 *
5 * Copyright (C) 2003 Manuel Novoa III <mjn3@codepoet.org>
6 *
"Robert P. J. Day"5d8843e2006-07-10 11:41:19 +00007 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
Manuel Novoa III cad53642003-03-19 09:13:01 +00008 */
9
10/* A number of applets need to open a file for reading, where the filename
11 * is a command line arg. Since often that arg is '-' (meaning stdin),
12 * we avoid testing everywhere by consolidating things in this routine.
13 *
14 * Note: We also consider "" to main stdin (for 'cmp' at least).
15 */
16
17#include <stdio.h>
18#include <sys/stat.h>
19#include <libbb.h>
20
21FILE *bb_wfopen_input(const char *filename)
22{
23 FILE *fp = stdin;
24
25 if ((filename != bb_msg_standard_input)
26 && filename[0] && ((filename[0] != '-') || filename[1])
27 ) {
Manuel Novoa III cad53642003-03-19 09:13:01 +000028 fp = bb_wfopen(filename, "r");
29 }
30
31 return fp;
32}