Preparations for ISO/HFS+ hybrid images by Vladimir Serbinenko

This commit is contained in:
2012-05-24 07:13:20 +00:00
parent b6857855f5
commit 4f90dad64b
18 changed files with 218 additions and 67 deletions

View File

@ -2242,6 +2242,8 @@ int Xorriso_set_hidden(struct XorrisO *xorriso, void *in_node, char *path,
hide_attrs|= LIBISO_HIDE_ON_RR;
if(hide_state & 2)
hide_attrs|= LIBISO_HIDE_ON_JOLIET;
if(hide_state & 4)
hide_attrs|= LIBISO_HIDE_ON_HFSPLUS;
}
iso_node_set_hidden(node, hide_attrs);
return(1);
@ -2780,19 +2782,16 @@ return:
value= !! Exprtest_match_disk_name(xorriso, ftest, node, 0);
break; case 17: /* -hidden int *arg1 */
value= 0;
value= 1;
ret= iso_node_get_hidden(node);
mask= *((int *) arg1) & 3;
if(mask == 0 && !(ret & (LIBISO_HIDE_ON_RR | LIBISO_HIDE_ON_JOLIET)))
value= 1;
else if(mask == 1 && (ret & LIBISO_HIDE_ON_RR))
value= 1;
else if(mask == 2 && (ret & LIBISO_HIDE_ON_JOLIET))
value= 1;
else if(mask == 3 && (ret & LIBISO_HIDE_ON_RR) &&
(ret & LIBISO_HIDE_ON_JOLIET))
value= 1;
if((!!(mask & 1)) ^ (!!(ret & LIBISO_HIDE_ON_RR)))
value= 0;
if((!!(mask & 2)) ^ (!!(ret & LIBISO_HIDE_ON_JOLIET)))
value= 0;
if((!!(mask & 3)) ^ (!!(ret & LIBISO_HIDE_ON_HFSPLUS)))
value= 0;
break; default:
/* >>> complain about unknown test type */;