size_t writeSize;
size_t readSize;
size_t actualWriteSz;
- char buffer[BUFSIZ];
+ char buffer[20 * TAR_BLOCK_SIZE];
size_t size = header->size;
int outFd=fileno(stdout);
if ( size > sizeof(buffer) )
writeSize = readSize = sizeof(buffer);
else {
- int mod = size % 512;
+ int mod = size % TAR_BLOCK_SIZE;
if ( mod != 0 )
- readSize = size + (512 - mod);
+ readSize = size + (TAR_BLOCK_SIZE - mod);
else
readSize = size;
writeSize = size;
if (extractFlag==FALSE || tostdoutFlag==TRUE)
return( TRUE);
- if (make_directory(header->name, header->mode, FILEUTILS_RECUR) < 0) {
+ if (make_directory(header->name, header->mode, FILEUTILS_RECUR) < 0)
return( FALSE);
- }
- /* make the final component, just in case it was
- * omitted by create_path() (which will skip the
- * directory if it doesn't have a terminating '/') */
- if (mkdir(header->name, header->mode) < 0 && errno != EEXIST) {
- perror_msg("%s", header->name);
- return FALSE;
- }
fixUpPermissions(header);
return( TRUE);