From ff8bb989ab1a7a16f1f6b6586f61ad54f2f690d8 Mon Sep 17 00:00:00 2001 From: Brian Feldman Date: Sat, 28 Aug 1999 03:37:38 +0000 Subject: Relax things a bit. Not having FIODTYPE will be a warning for now. Pointy hat: green Pointed out by: peter --- bin/dd/dd.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/bin/dd/dd.c b/bin/dd/dd.c index c80ed685312b..9ac4f86647e2 100644 --- a/bin/dd/dd.c +++ b/bin/dd/dd.c @@ -232,14 +232,18 @@ getfdtype(io) if (fstat(io->fd, &sb)) err(1, "%s", io->name); if (S_ISCHR(sb.st_mode) || S_ISBLK(sb.st_mode)) { - if (ioctl(io->fd, FIODTYPE, &type) == -1) - err(1, "%s", io->name); - if (type & D_TAPE) - io->flags |= ISTAPE; - else if (type & D_DISK) - io->flags |= ISDISK; - if (S_ISCHR(sb.st_mode) && (type & D_TAPE) == 0) - io->flags |= ISCHR; + if (ioctl(io->fd, FIODTYPE, &type) == -1) { + warn("%s", io->name); + if (S_ISCHR(sb.st_mode)) + io->flags |= ISCHR; + } else { + if (type & D_TAPE) + io->flags |= ISTAPE; + else if (type & D_DISK) + io->flags |= ISDISK; + if (S_ISCHR(sb.st_mode) && (type & D_TAPE) == 0) + io->flags |= ISCHR; + } } else if (!S_ISREG(sb.st_mode)) io->flags |= ISPIPE; } -- cgit v1.2.3