From 92976c91f3c64959a5cfe5585d03110fec99a149 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 7 May 2011 10:51:35 +0000 Subject: [PATCH] Enabled drive addresses of form mmc:/dev/srX with option -mount --- libisoburn/trunk/xorriso/iso_img.c | 16 ++++++++++++++-- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/libisoburn/trunk/xorriso/iso_img.c b/libisoburn/trunk/xorriso/iso_img.c index fb705869..dcae68a8 100644 --- a/libisoburn/trunk/xorriso/iso_img.c +++ b/libisoburn/trunk/xorriso/iso_img.c @@ -927,6 +927,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode, dev_path= devadr= xorriso->indev; if(strncmp(dev_path, "stdio:", 6) == 0) dev_path+= 6; + else if(strncmp(dev_path, "mmc:", 4) == 0) + dev_path+= 4; if(xorriso->in_drive_handle == xorriso->out_drive_handle) give_up= 3; else @@ -940,6 +942,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode, dev_path= devadr= xorriso->outdev; if(strncmp(dev_path, "stdio:", 6) == 0) dev_path+= 6; + else if(strncmp(dev_path, "mmc:", 4) == 0) + dev_path+= 4; if(xorriso->in_drive_handle == xorriso->out_drive_handle) give_up= 3; else @@ -949,6 +953,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode, dev_path= dev; if(strncmp(dev_path, "stdio:", 6) == 0) dev_path+= 6; + else if(strncmp(dev_path, "mmc:", 4) == 0) + dev_path+= 4; /* do only accept regular files and block devices */ 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 */ - ret= burn_drive_convert_fs_adr(dev, libburn_adr); + 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); Xorriso_process_msg_queues(xorriso,0); if(ret < 0) {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); burn_preset_device_open( 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) devadr+= 6; + if(strstr(devadr, "mmc:") == devadr) + devadr+= 4; ret= Xorriso_make_mount_cmd(xorriso, cmd, lba, track, session, volid, devadr, mount_command, flag & (2 | 4)); if(ret <= 0) diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index b8156ce1..79f81c08 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2011.05.07.104932" +#define Xorriso_timestamP "2011.05.07.105142"