From b0d28ab18df8a0dbe3eab4e2c7044a64b374f0b4 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Fri, 8 Feb 2008 19:57:18 +0000 Subject: [PATCH] Warning of -volid which are not ECMA 119 compliant --- xorriso/xorriso.c | 21 +++++++++++++++------ xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c index 6fbc5f74..f81e2e0b 100644 --- a/xorriso/xorriso.c +++ b/xorriso/xorriso.c @@ -8271,23 +8271,32 @@ int Xorriso_option_version(struct XorrisO *xorriso, int flag) /* Option -volid */ int Xorriso_option_volid(struct XorrisO *xorriso, char *volid, int flag) { - int warn= 0, i, ret; - static char good_chars[]= { + int warn_shell= 0, warn_ecma= 0, i, ret; + static char shell_chars[]= { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-+=:.,~@"}; + static char ecma_chars[]= {"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"}; - for(i=0; volid[i]!=0; i++) - if(strchr(good_chars, volid[i])==NULL) - warn= 1; + for(i=0; volid[i]!=0; i++) { + if(strchr(shell_chars, volid[i])==NULL) + warn_shell= 1; + if(strchr(ecma_chars, volid[i])==NULL) + warn_ecma= 1; + } if(i>32) { sprintf(xorriso->info_text, "-volid: Text too long (%d > 32)", i); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); return(0); } - if(warn) { + if(warn_shell) { sprintf(xorriso->info_text, "-volid text problematic as automatic mount point name"); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0); } + if(warn_ecma) { + sprintf(xorriso->info_text, + "-volid text does not comply to ISO 9660 / ECMA 119 rules"); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0); + } strcpy(xorriso->volid, volid); ret= Xorriso_set_volid(xorriso, volid, 0); if(ret<=0) diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index ec132775..5a384103 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2008.02.08.175152" +#define Xorriso_timestamP "2008.02.08.195627"