Pacifier for isoburn_read_image()
This commit is contained in:
@ -58,6 +58,9 @@
|
||||
int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
|
||||
int flag);
|
||||
|
||||
int Xorriso__read_pacifier(IsoImage *image, IsoFileSource *filesource);
|
||||
|
||||
|
||||
#define LIBISO_ISDIR(node) (iso_node_get_type(node) == LIBISO_DIR)
|
||||
#define LIBISO_ISREG(node) (iso_node_get_type(node) == LIBISO_FILE)
|
||||
#define LIBISO_ISLNK(node) (iso_node_get_type(node) == LIBISO_SYMLINK)
|
||||
@ -381,6 +384,7 @@ int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag)
|
||||
/* Note: no return before isoburn_ropt_destroy() */
|
||||
isoburn_ropt_set_extensions(ropts, isoburn_ropt_pretend_blank);
|
||||
isoburn_ropt_set_input_charset(ropts, NULL);
|
||||
isoburn_set_read_pacifier(drive, NULL, NULL);
|
||||
ret= isoburn_read_image(drive, ropts, &volset);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
isoburn_ropt_destroy(&ropts, 0);
|
||||
@ -541,6 +545,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
#endif /* NIX */
|
||||
|
||||
Xorriso_set_image_severities(xorriso, 1); /* No DEBUG messages */
|
||||
Xorriso_pacifier_reset(xorriso, 0);
|
||||
isoburn_set_read_pacifier(drive, Xorriso__read_pacifier, (void *) xorriso);
|
||||
if(isoburn_read_image(drive, ropts, &volset) <= 0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_set_image_severities(xorriso, 0);
|
||||
@ -923,6 +929,22 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
|
||||
}
|
||||
|
||||
|
||||
int Xorriso__read_pacifier(IsoImage *image, IsoFileSource *filesource)
|
||||
{
|
||||
struct XorrisO *xorriso;
|
||||
|
||||
xorriso= (struct XorrisO *) iso_image_get_attached_data(image);
|
||||
if(xorriso==NULL)
|
||||
return(1);
|
||||
xorriso->pacifier_count++;
|
||||
if(xorriso->pacifier_count%10)
|
||||
return(1);
|
||||
Xorriso_pacifier_callback(xorriso, "nodes read", xorriso->pacifier_count, 0,
|
||||
"", 0);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_get_volume(struct XorrisO *xorriso, IsoImage **volume,
|
||||
int flag)
|
||||
{
|
||||
@ -1328,7 +1350,7 @@ cannot_lstat:;
|
||||
}
|
||||
|
||||
xorriso->pacifier_count++;
|
||||
if(xorriso->pacifier_count%100)
|
||||
if((xorriso->pacifier_count%100)==0)
|
||||
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
|
||||
xorriso->pacifier_total, "", 0);
|
||||
|
||||
|
Reference in New Issue
Block a user