Re-enabled compilation without Libisofs_with_aaiP

but prepared messages of that code for existence of AA and ER of AAIP
This commit is contained in:
Thomas Schmitt 2009-01-21 14:08:10 +01:00
parent 1150ee32a4
commit a5aedd51a4
4 changed files with 38 additions and 13 deletions

View File

@ -1938,7 +1938,7 @@ int read_root_susp_entries(_ImageFsData *data, uint32_t block)
if (SUSP_SIG(sue, 'E', 'R')) {
#ifndef Libisofs_with_aaiP
#ifndef Libisofs_with_aaiP_retro
/* ts A90113 : this warning is not appropriate any more */
if (data->rr_version) {
@ -1951,7 +1951,7 @@ int read_root_susp_entries(_ImageFsData *data, uint32_t block)
}
}
#endif /* ! Libisofs_with_aaiP */
#endif /* ! Libisofs_with_aaiP_retro */
/*
* it seems that Rock Ridge can be identified with any

View File

@ -4108,8 +4108,9 @@ void iso_stream_get_id(IsoStream *stream, unsigned int *fs_id, dev_t *dev_id,
/* --------------------------------- AAIP --------------------------------- */
/* ts A90112 : Enable experiments about EA and ACL */
/* ts A90112 : Enable experiments about EA and ACL
#define Libisofs_with_aaiP yes
*/
/* ts A90112
<<< write dummy AAIP fields with any node

View File

@ -1429,10 +1429,19 @@ int iso_node_get_attrs(IsoNode *node, size_t *num_attrs,
int iso_node_set_attrs(IsoNode *node, size_t num_attrs, char **names,
size_t *value_lengths, char **values, int flag)
{
#ifdef Libisofs_with_aaiP
int ret;
size_t sret, result_len;
unsigned char *result;
if (num_attrs == 0) {
ret = iso_node_remove_xinfo(node, aaip_xinfo_func);
if (ret < 0)
return ret;
return 1;
}
sret = aaip_encode("AA", num_attrs, names, value_lengths, values,
&result_len, &result, 0);
if (sret == 0)
@ -1451,9 +1460,20 @@ int iso_node_set_attrs(IsoNode *node, size_t num_attrs, char **names,
return ISO_ERROR;
}
return 1;
#else /* Libisofs_with_aaiP */
/* >>> no support for attributes */
return ISO_ERROR;
#endif /* ! Libisofs_with_aaiP */
}
#ifdef Libisofs_with_aaiP
static
int iso_decode_acl(unsigned char *v_data, size_t v_len, size_t *consumed,
char **text, size_t *text_fill, int flag)
@ -1478,10 +1498,15 @@ int iso_decode_acl(unsigned char *v_data, size_t v_len, size_t *consumed,
return ret;
}
#endif /* ! Libisofs_with_aaiP */
/* ts A90116 */
int iso_node_get_acl_text(IsoNode *node, char **text, int flag)
{
#ifdef Libisofs_with_aaiP
size_t num_attrs = 0, *value_lengths = NULL, i, consumed, text_fill = 0;
size_t v_len;
char **names = NULL, **values = NULL;
@ -1496,8 +1521,6 @@ int iso_node_get_acl_text(IsoNode *node, char **text, int flag)
return 1;
}
#ifdef Libisofs_with_aaiP
*text = NULL;
ret = iso_node_get_attrs(node, &num_attrs, &names,
@ -1574,6 +1597,9 @@ bad_decode:;
/* ts A90119 */
int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
{
#ifdef Libisofs_with_aaiP
size_t num_attrs = 0, *value_lengths = NULL, i, consumed;
size_t a_text_fill = 0, d_text_fill = 0;
size_t v_len, acl_len= 0;
@ -1585,8 +1611,6 @@ int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
int ret;
mode_t st_mode;
#ifdef Libisofs_with_aaiP
if (flag & 2) { /* want to update ACL by st_mode */
st_mode = iso_node_get_permissions(node);
} else {
@ -1652,7 +1676,7 @@ int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
}
}
if (a_text != NULL || d_text != NULL)
ret = aaip_encode_both_acl(a_text, d_text, &acl_len, &acl, 0);
ret = aaip_encode_both_acl(a_text, d_text, &acl_len, &acl, 2);
else
ret = 1;
if (ret <= 0) {
@ -1680,9 +1704,9 @@ int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
goto ex;
}
if (flag & 1)
ret = aaip_encode_both_acl(NULL, acl_text, &acl_len, &acl, 0);
ret = aaip_encode_both_acl(NULL, acl_text, &acl_len, &acl, 2);
else
ret = aaip_encode_both_acl(acl_text, NULL, &acl_len, &acl, 0);
ret = aaip_encode_both_acl(acl_text, NULL, &acl_len, &acl, 2);
if (ret <= 0) {
/* >>> cannot encode */;
@ -1750,7 +1774,7 @@ bad_decode:;
#else /* Libisofs_with_aaiP */
if (text != NULL) {
if (acl_text != NULL) {
/* >>> No ACL enabled in program code */;

View File

@ -1178,10 +1178,10 @@ size_t rrip_calc_len(Ecma119Image *t, Ecma119Node *n, int type, size_t space,
*ce += 160; /* ER of AAIP */
#endif /* Libisofs_with_aaiP */
}
#endif /* Libisofs_with_aaiP */
}
}