Bug fixes

This commit is contained in:
Eric Andersen
1999-11-22 07:41:00 +00:00
parent 5d44d1fda5
commit cb41c2e83b
7 changed files with 35 additions and 23 deletions

View File

@@ -29,10 +29,15 @@
#include "internal.h"
#include <features.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#if (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)
#include <inttypes.h>
#else
typedef unsigned long long int uintmax_t;
#endif
static const char dd_usage[] =
"dd [if=name] [of=name] [bs=n] [count=n]\n\n"

View File

@@ -80,17 +80,21 @@ extern int mkdir_main(int argc, char **argv)
while (argc > 0) {
int status;
struct stat statBuf;
status=stat(*argv, &statBuf);
char buf[NAME_MAX];
strcpy (buf, *argv);
status=stat(buf, &statBuf);
if (status != -1 && status != ENOENT ) {
fprintf(stderr, "%s: File exists\n", *argv);
fprintf(stderr, "%s: File exists\n", buf);
exit( FALSE);
}
if (parentFlag == TRUE) {
createPath(*argv, mode);
strcat( buf, "/");
createPath(buf, mode);
}
else {
if (mkdir (*argv, mode) != 0) {
perror(*argv);
if (mkdir (buf, mode) != 0) {
perror(buf);
exit( FALSE);
}
}