diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index 34b2809f..8e3bf58b 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -135,6 +135,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->iso_level= 3; m->do_joliet= 0; m->do_hfsplus= 0; + m->do_fat= 0; m->do_rockridge= 1; m->do_iso1999= 0; m->do_aaip= 0; diff --git a/xorriso/emulators.c b/xorriso/emulators.c index b1e5170c..7255a3a1 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -575,7 +575,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc", "--emul-toc", "-disallow_dir_id_ext", "--old-empty", "--old-root-no-md5", "--old-root-devno", "--old-root-no-ino", - "--no_rc", "--norock", "-hfsplus", + "--no_rc", "--norock", "-hfsplus", "-fat", "" }; static char arg1_options[][41]= { @@ -1300,6 +1300,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, } else if(strcmp(argpt, "--old-root-no-ino")==0) { old_root_ino= 0; + } else if(strcmp(argpt, "-fat") == 0) { + xorriso->do_fat= 1; } else if(strcmp(argpt, "-hfsplus") == 0) { /* Already with -indev */ xorriso->do_hfsplus= 1; @@ -1507,6 +1509,8 @@ illegal_c:; } else if(strcmp(argpt, "-joliet-long")==0) { Xorriso_relax_compliance(xorriso, "joliet_long_paths:joliet_long_names", 0); + } else if(strcmp(argpt, "-fat") == 0) { + /* was already handled in first argument scan */; } else if(strcmp(argpt, "-hfs-bless") == 0 || strcmp(argpt, "-hfs-bless-by") == 0 || strcmp(argpt, "-hfsplus-file-creator-type") == 0) { diff --git a/xorriso/write_run.c b/xorriso/write_run.c index a3b0eaec..5dc439c1 100644 --- a/xorriso/write_run.c +++ b/xorriso/write_run.c @@ -813,6 +813,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag) ext= ((!!xorriso->do_rockridge) * isoburn_igopt_rockridge) | ((!!xorriso->do_joliet) * isoburn_igopt_joliet) | ((!!xorriso->do_hfsplus) * isoburn_igopt_hfsplus) | + ((!!xorriso->do_fat) * isoburn_igopt_fat) | ((!!xorriso->do_iso1999) * isoburn_igopt_iso1999) | (( !(xorriso->ino_behavior & 2)) * isoburn_igopt_hardlinks) | (( (!(xorriso->ino_behavior & 2)) || diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index 7d57b89a..1f1c6adf 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -134,6 +134,7 @@ struct XorrisO { /* the global context of xorriso */ int iso_level; int do_joliet; int do_hfsplus; + int do_fat; int do_rockridge; int do_iso1999; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 43322c59..fbb8507e 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.06.10.184039" +#define Xorriso_timestamP "2012.06.10.184210"