* fileutils/dd.c (dd_main): Ignore ftruncate error if the output is not a

file or directory.
This commit is contained in:
Matt Kraai 2002-02-05 15:28:54 +00:00
parent 369da77d5e
commit eb83478528

View File

@ -22,6 +22,7 @@
*/
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
@ -106,8 +107,13 @@ int dd_main(int argc, char **argv)
perror_msg_and_die("%s", outfile);
if (seek && trunc) {
if (ftruncate(ofd, seek * bs) < 0)
perror_msg_and_die("%s", outfile);
if (ftruncate(ofd, seek * bs) < 0) {
struct stat st;
if (fstat (ofd, &st) < 0 || S_ISREG (st.st_mode) ||
S_ISDIR (st.st_mode))
perror_msg_and_die("%s", outfile);
}
}
} else {
ofd = STDOUT_FILENO;