Avoided to use MD5 on filtered streams with compare and update
This commit is contained in:
@ -3625,11 +3625,19 @@ int Xorriso_restore_implicit_properties(struct XorrisO *xorriso,
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_is_plain_image_file(struct XorrisO *xorriso, IsoNode *node,
|
||||
int flag)
|
||||
int Xorriso_is_plain_image_file(struct XorrisO *xorriso, void *in_node,
|
||||
char *path, int flag)
|
||||
{
|
||||
int ret, lba;
|
||||
IsoStream *stream;
|
||||
IsoNode *node;
|
||||
|
||||
node= (IsoNode *) in_node;
|
||||
if(node == NULL) {
|
||||
ret= Xorriso_get_node_by_path(xorriso, path, NULL, &node, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
}
|
||||
|
||||
ret= Xorriso__file_start_lba(node, &lba, 0);
|
||||
if(ret > 0) { /* Stream source is from loaded image */
|
||||
@ -3748,7 +3756,7 @@ int Xorriso_tree_restore_node(struct XorrisO *xorriso, IsoNode *node,
|
||||
ret= Xorriso_iso_file_read(xorriso, data_stream, buf, wanted, 0);
|
||||
if(ret<=0) {
|
||||
if(xorriso->extract_error_mode == 0 &&
|
||||
Xorriso_is_plain_image_file(xorriso, node, 0)) {
|
||||
Xorriso_is_plain_image_file(xorriso, node, "", 0)) {
|
||||
close(write_fd);
|
||||
write_fd= -1;
|
||||
already_done= (size - todo) / (off_t) 2048;
|
||||
@ -10118,7 +10126,7 @@ int Xorriso_extract_cut(struct XorrisO *xorriso,
|
||||
}
|
||||
read_raw= 0;
|
||||
if((img_offset % 2048) == 0) {
|
||||
ret= Xorriso_is_plain_image_file(xorriso, node, 0);
|
||||
ret= Xorriso_is_plain_image_file(xorriso, node, "", 0);
|
||||
if(ret > 0)
|
||||
read_raw= 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user