export meta init/destroy functions

This commit is contained in:
Alexey Fedoseev
2024-04-24 20:44:33 +03:00
parent 8d10fec4fa
commit aeff85570a
2 changed files with 11 additions and 7 deletions

View File

@@ -1234,7 +1234,7 @@ static int cyberiada_graphs_reconstruct_edges(CyberiadaDocument* doc, NamesList*
return CYBERIADA_NO_ERROR;
}
static int cyberiada_destroy_meta(CyberiadaMetainformation* meta)
int cyberiada_destroy_meta(CyberiadaMetainformation* meta)
{
if (meta) {
if (meta->standard_version) free(meta->standard_version);
@@ -2023,17 +2023,15 @@ static int cyberiada_add_default_meta(CyberiadaDocument* doc, const char* sm_nam
cyberiada_copy_string(&(meta->name), &(meta->name_len), sm_name);
}
doc->meta_info = meta;
return CYBERIADA_NO_ERROR;
}
static int cyberiada_encode_meta(CyberiadaDocument* doc, char** meta_body, size_t* meta_body_len)
int cyberiada_encode_meta(CyberiadaMetainformation* meta, char** meta_body, size_t* meta_body_len)
{
size_t i, buffer_len;
int written;
char *buffer, *value;
CyberiadaMetainformation* meta = doc->meta_info;
buffer_len = 1;
for (i = 0; i < sizeof(cyberiada_metadata) / sizeof(MetainfoDeclaration); i++) {
@@ -3624,7 +3622,7 @@ static int cyberiada_update_metainfo_comment(CyberiadaDocument* doc)
sm_node->children = meta_node;
meta_node->next = first_node;
}
cyberiada_encode_meta(doc,
cyberiada_encode_meta(doc->meta_info,
&(meta_node->comment_data->body),
&(meta_node->comment_data->body_len));
return CYBERIADA_NO_ERROR;

View File

@@ -304,6 +304,12 @@ typedef enum {
/* Initialize and copy string. Use this function to initialize strings in Cyberiada structures */
int cyberiada_copy_string(char** target, size_t* size, const char* source);
/* Encode metainformation to string */
int cyberiada_encode_meta(CyberiadaMetainformation* meta, char** meta_body, size_t* meta_body_len);
/* Free metainformation struct */
int cyberiada_destroy_meta(CyberiadaMetainformation* meta);
#ifdef __cplusplus
}
#endif