diff --git a/xorriso/misc_funct.c b/xorriso/misc_funct.c index 163a1185..da04cf68 100644 --- a/xorriso/misc_funct.c +++ b/xorriso/misc_funct.c @@ -510,7 +510,7 @@ int Decode_ecma119_format(struct tm *erg, char *text, int flag) int Decode_xorriso_timestamp(struct tm *erg, char *code, int flag) - /* 2007.11.07.225624 */ + /* 2007.11.07.225624 or 2007_11_07_225624 */ { char buf[20]; int year,month,day,hour= 0,minute= 0,second= 0, i, l, mem; @@ -525,19 +525,20 @@ int Decode_xorriso_timestamp(struct tm *erg, char *code, int flag) for(i= 0; buf[i]!=0 && i<4; i++) if(!isdigit(buf[i])) return(0); - if(buf[4]!='.') + if(buf[4] != '.' && buf[4] != '_') return(0); buf[4]= 0; sscanf(buf, "%d", &year); if(year<1900 || year>3000) return(0); - if(!(isdigit(buf[5]) && isdigit(buf[6]) && buf[7]=='.')) + if(!(isdigit(buf[5]) && isdigit(buf[6]) && (buf[7] == '.' || buf[7] == '_'))) return(0); buf[7]= 0; sscanf(buf+5, "%d", &month); if(month<1 || month>12) return(0); - if(!(isdigit(buf[8]) && isdigit(buf[9]) && (buf[10]=='.' || buf[10]==0))) + if(!(isdigit(buf[8]) && isdigit(buf[9]) && + (buf[10]=='.' || buf[10]=='_' || buf[10]==0))) return(0); buf[10]= 0; sscanf(buf+8, "%d", &day); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 0ac83775..4a5d01b0 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2024.05.19.204636" +#define Xorriso_timestamP "2024.06.28.065555"