aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/dc
diff options
context:
space:
mode:
authorSteve Price <steve@FreeBSD.org>1996-11-03 03:31:33 +0000
committerSteve Price <steve@FreeBSD.org>1996-11-03 03:31:33 +0000
commit16f50bdc0ae67faa26ae0b6bd385bd96b06cd9ad (patch)
treee844409cbaeb67115579b5d217765e6e2b4399eb /gnu/usr.bin/dc
parent8a87dec9bf51554c51c73020216a32b793ac3d96 (diff)
Notes
Diffstat (limited to 'gnu/usr.bin/dc')
-rw-r--r--gnu/usr.bin/dc/dc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/usr.bin/dc/dc.c b/gnu/usr.bin/dc/dc.c
index a4132533c668d..4e622468f43db 100644
--- a/gnu/usr.bin/dc/dc.c
+++ b/gnu/usr.bin/dc/dc.c
@@ -19,6 +19,7 @@
* Inc.; 675 Mass Ave. Cambridge, MA 02139, USA.
*/
+#include <sys/stat.h>
#include <stdio.h>
#include "decimal.h" /* definitions for our decimal arithmetic package */
@@ -508,10 +509,16 @@ fetch()
}
else if (file_count)
{
- open_file = fopen (*next_file++, "r");
+ struct stat stat_buf;
file_count--;
+ if (stat(*next_file, &stat_buf) == 0) && !S_ISDIR(stat_buf.st_mode))
+ {
+ open_file = fopen (*next_file++, "r");
if (!open_file)
perror_with_name (*(next_file - 1));
+ }
+ else
+ next_file++;
}
else break;
}