Enabled drive addresses of form mmc:/dev/srX with option -mount
This commit is contained in:
parent
3b4cb93553
commit
92976c91f3
@ -927,6 +927,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
|
|||||||
dev_path= devadr= xorriso->indev;
|
dev_path= devadr= xorriso->indev;
|
||||||
if(strncmp(dev_path, "stdio:", 6) == 0)
|
if(strncmp(dev_path, "stdio:", 6) == 0)
|
||||||
dev_path+= 6;
|
dev_path+= 6;
|
||||||
|
else if(strncmp(dev_path, "mmc:", 4) == 0)
|
||||||
|
dev_path+= 4;
|
||||||
if(xorriso->in_drive_handle == xorriso->out_drive_handle)
|
if(xorriso->in_drive_handle == xorriso->out_drive_handle)
|
||||||
give_up= 3;
|
give_up= 3;
|
||||||
else
|
else
|
||||||
@ -940,6 +942,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
|
|||||||
dev_path= devadr= xorriso->outdev;
|
dev_path= devadr= xorriso->outdev;
|
||||||
if(strncmp(dev_path, "stdio:", 6) == 0)
|
if(strncmp(dev_path, "stdio:", 6) == 0)
|
||||||
dev_path+= 6;
|
dev_path+= 6;
|
||||||
|
else if(strncmp(dev_path, "mmc:", 4) == 0)
|
||||||
|
dev_path+= 4;
|
||||||
if(xorriso->in_drive_handle == xorriso->out_drive_handle)
|
if(xorriso->in_drive_handle == xorriso->out_drive_handle)
|
||||||
give_up= 3;
|
give_up= 3;
|
||||||
else
|
else
|
||||||
@ -949,6 +953,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
|
|||||||
dev_path= dev;
|
dev_path= dev;
|
||||||
if(strncmp(dev_path, "stdio:", 6) == 0)
|
if(strncmp(dev_path, "stdio:", 6) == 0)
|
||||||
dev_path+= 6;
|
dev_path+= 6;
|
||||||
|
else if(strncmp(dev_path, "mmc:", 4) == 0)
|
||||||
|
dev_path+= 4;
|
||||||
|
|
||||||
/* do only accept regular files and block devices */
|
/* do only accept regular files and block devices */
|
||||||
ret= stat(dev_path, &stbuf);
|
ret= stat(dev_path, &stbuf);
|
||||||
@ -971,11 +977,15 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Aquire drive as direct libburn address or via stdio: prefix */
|
/* Aquire drive as direct libburn address or via stdio: prefix */
|
||||||
|
if(strncmp(dev, "mmc:", 4) == 0)
|
||||||
|
ret= burn_drive_convert_fs_adr(dev + 4, libburn_adr);
|
||||||
|
else
|
||||||
ret= burn_drive_convert_fs_adr(dev, libburn_adr);
|
ret= burn_drive_convert_fs_adr(dev, libburn_adr);
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
if(ret < 0)
|
if(ret < 0)
|
||||||
{ret= -1; goto ex;}
|
{ret= -1; goto ex;}
|
||||||
if(ret == 0 && strncmp(dev, "stdio:", 6) != 0)
|
if(ret == 0 && strncmp(dev, "stdio:", 6) != 0 &&
|
||||||
|
strncmp(dev, "mmc:", 4) != 0)
|
||||||
sprintf(libburn_adr, "stdio:%s", dev);
|
sprintf(libburn_adr, "stdio:%s", dev);
|
||||||
burn_preset_device_open(
|
burn_preset_device_open(
|
||||||
xorriso->drives_exclusive && !(xorriso->mount_opts_flag & 1), 0, 0);
|
xorriso->drives_exclusive && !(xorriso->mount_opts_flag & 1), 0, 0);
|
||||||
@ -1010,6 +1020,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode,
|
|||||||
}
|
}
|
||||||
if(strstr(devadr, "stdio:") == devadr)
|
if(strstr(devadr, "stdio:") == devadr)
|
||||||
devadr+= 6;
|
devadr+= 6;
|
||||||
|
if(strstr(devadr, "mmc:") == devadr)
|
||||||
|
devadr+= 4;
|
||||||
ret= Xorriso_make_mount_cmd(xorriso, cmd, lba, track, session, volid, devadr,
|
ret= Xorriso_make_mount_cmd(xorriso, cmd, lba, track, session, volid, devadr,
|
||||||
mount_command, flag & (2 | 4));
|
mount_command, flag & (2 | 4));
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2011.05.07.104932"
|
#define Xorriso_timestamP "2011.05.07.105142"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user