archive_read_open_fd was also using for reading and saving archives.
Original patch did not address these, this one does.
Reco
--- archivemount-0.8.7.orig/archivemount.c
+++ archivemount-0.8.7/archivemount.c
@@ -450,7 +450,7 @@ build_tree( const char *mtpt )
return archive_errno( archive );
}
}
- if( archive_read_open_fd( archive, archiveFd, 10240 ) != ARCHIVE_OK ) {
+ if( archive_read_open_filename( archive, archiveFile, 10240) != ARCHIVE_OK ) {
fprintf( stderr, "%s\n", archive_error_string( archive ) );
return archive_errno( archive );
}
@@ -909,7 +909,7 @@ save( const char *archiveFile )
log( "%s", archive_error_string( oldarc ) );
return archive_errno( oldarc );
}
- if( archive_read_open_fd( oldarc, archiveFd, 10240 ) != ARCHIVE_OK ) {
+ if( archive_read_open_filename( oldarc, archiveFile, 10240 ) != ARCHIVE_OK ) {
log( "%s", archive_error_string( oldarc ) );
return archive_errno( oldarc );
}
@@ -1311,7 +1311,7 @@ _ar_read( const char *path, char *buf, s
return -EIO;
}
}
- archive_ret = archive_read_open_fd( archive, archiveFd, 10240 );
+ archive_ret = archive_read_open_filename( archive, archiveFile, 10240);
if( archive_ret != ARCHIVE_OK ) {
log( "archive_read_open_fd(): %s (%d)\n",
archive_error_string( archive ), archive_ret );