Canonicalize dirname(3) behavior.

This commit is contained in:
Matt Kraai
2001-08-24 19:51:54 +00:00
parent 2a953aed38
commit ac20ce1924
5 changed files with 25 additions and 13 deletions

View File

@ -127,13 +127,15 @@ char *extract_archive(FILE *src_stream, FILE *out_stream, const file_header_t *f
}
}
if (function & extract_create_leading_dirs) { /* Create leading directories with default umask */
char *parent = dirname(full_name);
char *buf, *parent;
buf = xstrdup(full_name);
parent = dirname(full_name);
if (make_directory (parent, -1, FILEUTILS_RECUR) != 0) {
if ((function & extract_quiet) != extract_quiet) {
error_msg("couldn't create leading directories");
}
}
free (parent);
free (buf);
}
switch(file_entry->mode & S_IFMT) {
case S_IFREG: