diff --git a/test/compare_file.c b/test/compare_file.c index 2d460f54..7056e793 100644 --- a/test/compare_file.c +++ b/test/compare_file.c @@ -117,7 +117,9 @@ int Compare_2_files(char *adr1, char *adr2, char *adrc, int flag) /* Attributes */ if(s1.st_mode != s2.st_mode) { if((s1.st_mode&~S_IFMT)!=(s2.st_mode&~S_IFMT)) - printf("%s : st_mode : %7.7o <> %7.7o\n", a, s1.st_mode, s2.st_mode); + printf("%s : st_mode : %7.7o <> %7.7o\n", a, + (unsigned int) (s1.st_mode & ~S_IFMT), + (unsigned int) (s2.st_mode & ~S_IFMT)); if((s1.st_mode&S_IFMT)!=(s2.st_mode&S_IFMT)) printf("%s : type : %s <> %s\n", a, Ftypetxt(s1.st_mode, 0), Ftypetxt(s2.st_mode, 0)); diff --git a/xorriso/xorriso.c b/xorriso/xorriso.c index ff986f4c..50018166 100644 --- a/xorriso/xorriso.c +++ b/xorriso/xorriso.c @@ -3383,7 +3383,8 @@ int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper, if(xorriso!=NULL) { sprintf(xorriso->info_text, "Cannot change access permissions of disk directory: chmod %o %s", - m->stbuf.st_mode & 07777, Text_shellsafe(m->disk_path, sfe, 0)); + (unsigned int) (m->stbuf.st_mode & 07777), + Text_shellsafe(m->disk_path, sfe, 0)); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0); } @@ -6820,7 +6821,8 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr, if(s1.st_mode != s2.st_mode) { if((s1.st_mode&~S_IFMT)!=(s2.st_mode&~S_IFMT)) { sprintf(respt, "%s st_mode : %7.7o <> %7.7o\n", - a, s1.st_mode, s2.st_mode); + a, (unsigned int) (s1.st_mode & ~S_IFMT), + (unsigned int) (s2.st_mode & ~S_IFMT)); if(!(flag&(1<<31))) Xorriso_result(xorriso,0); (*result)|= 4; @@ -10585,7 +10587,7 @@ int Xorriso_auto_chmod(struct XorrisO *xorriso, char *disk_path, int flag) if(ret==-1) { sprintf(xorriso->info_text, "Cannot change access permissions of disk directory: chmod %o %s", - mode & 07777, Text_shellsafe(path_pt, sfe, 0)); + (unsigned int) (mode & 07777), Text_shellsafe(path_pt, sfe, 0)); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "SORRY", 0); } ret= Permstack_push(&(xorriso->perm_stack), path_pt, &stbuf, 0); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 8c8bcf45..c7fc7e60 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.03.05.121700" +#define Xorriso_timestamP "2009.03.08.140002" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index bff528f7..b6c4e31e 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -6241,7 +6241,7 @@ int Xorriso_set_st_mode(struct XorrisO *xorriso, char *in_path, iso_node_set_permissions(node, mode); iso_node_set_ctime(node, time(NULL)); sprintf(xorriso->info_text,"Permissions now: %-5.5o %s", - mode, Text_shellsafe(path, sfe, 0)); + (unsigned int) (mode & 0xffff), Text_shellsafe(path, sfe, 0)); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0); xorriso->volset_change_pending= 1; Xorriso_process_msg_queues(xorriso,0); @@ -8434,6 +8434,7 @@ cannot:; sprintf(xorriso->info_text, "-local_charset: Cannot assume as local character set: %s", Text_shellsafe(name, sfe, 0)); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0); return(0); } sprintf(xorriso->info_text, "Local character set is now assumed as: %s", @@ -8801,6 +8802,8 @@ int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result, return(-1); } + is_known_mmc= burn_drive_convert_fs_adr(path_pt, libburn_adr); + Xorriso_process_msg_queues(xorriso,0); ret= Xorriso_is_in_patternlist(xorriso, xorriso->drive_whitelist, path_pt, 0); if(ret > 0) @@ -8820,8 +8823,6 @@ int Xorriso_auto_driveadr(struct XorrisO *xorriso, char *adr, char *result, return(0); } /* if in greylist and not MMC and not stdio prefix: reject */ - is_known_mmc= burn_drive_convert_fs_adr(path_pt, libburn_adr); - Xorriso_process_msg_queues(xorriso,0); if(is_known_mmc < 0) return(ret); if(adr == path_pt && !is_known_mmc) { /* no prefix, no MMC */ @@ -8847,7 +8848,7 @@ ok:; if(strncmp(adr, "mmc:", 4) == 0) { if(Sfile_str(result, path_pt, 0) <= 0) return(0); - } else if(adr == path_pt && !is_known_mmc) { + } else if(adr == path_pt && is_known_mmc <= 0) { Sfile_str(result, "stdio:", 0); if(Sfile_str(result, adr, 1) <= 0) return(0);