Created API and hfsplus interface of HFS+ blessing.

But iso_write_opts_bless() is still a dummy.
This commit is contained in:
2012-05-25 14:40:06 +02:00
parent 177864bd13
commit ab11c954d9
5 changed files with 88 additions and 0 deletions

View File

@@ -119,6 +119,9 @@ void ecma119_image_free(Ecma119Image *t)
for (i = 0; i < ISO_MAX_PARTITIONS; i++)
if (t->appended_partitions[i] != NULL)
free(t->appended_partitions[i]);
for (i = 0; i < ISO_HFSPLUS_BLESS_MAX; i++)
if (t->hfsplus_blessed[i] != NULL)
iso_node_unref(t->hfsplus_blessed[i]);
free(t);
}
@@ -1868,6 +1871,11 @@ int ecma119_image_new(IsoImage *src, IsoWriteOpts *opts, Ecma119Image **img)
target->appended_part_start[i] = target->appended_part_size[i] = 0;
}
strcpy(target->ascii_disc_label, opts->ascii_disc_label);
for (i = 0; i < ISO_HFSPLUS_BLESS_MAX; i++) {
target->hfsplus_blessed[i] = opts->hfsplus_blessed[i];
if (target->hfsplus_blessed[i] != NULL)
iso_node_ref(target->hfsplus_blessed[i]);
}
/*
* 2. Based on those options, create needed writers: iso, joliet...
@@ -2599,6 +2607,8 @@ int iso_write_opts_new(IsoWriteOpts **opts, int profile)
wopts->allow_dir_id_ext = 0;
wopts->old_empty = 0;
wopts->untranslated_name_len = 0;
for (i = 0; i < ISO_HFSPLUS_BLESS_MAX; i++)
wopts->hfsplus_blessed[i] = NULL;
*opts = wopts;
return ISO_SUCCESS;
@@ -2625,6 +2635,9 @@ void iso_write_opts_free(IsoWriteOpts *opts)
for (i = 0; i < ISO_MAX_PARTITIONS; i++)
if (opts->appended_partitions[i] != NULL)
free(opts->appended_partitions[i]);
for (i = 0; i < ISO_HFSPLUS_BLESS_MAX; i++)
if (opts->hfsplus_blessed[i] != NULL)
iso_node_unref(opts->hfsplus_blessed[i]);
free(opts);
}
@@ -3218,3 +3231,12 @@ int iso_write_opts_set_disc_label(IsoWriteOpts *opts, char *label)
return ISO_SUCCESS;
}
/* API */
int iso_write_opts_bless(IsoWriteOpts *opts, enum IsoHfsplusBlessings blessing,
IsoNode *node, int flag)
{
/* >>> */;
return 0;
}