1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-25 16:13:17 +00:00

Relax things a bit. Not having FIODTYPE will be a warning for now.

Pointy hat:	green
Pointed out by:	peter
This commit is contained in:
Brian Feldman 1999-08-28 03:37:38 +00:00
parent fbe39a1af1
commit ff8bb989ab
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=50487

View File

@ -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;
}