#include "../block.h" #include "../any_log.h" static block_t *block_text_alloc(const block_scheme_t *scheme) { block_t *block = calloc(1, sizeof(block_text_t)); block->type = BLOCK_TEXT; return block; } static void block_text_clean(block_t *block) { block_text_t *text = (block_text_t *)block; free(text->text); } static int block_text_validate(block_t *block, const block_scheme_t *scheme) { block_text_t *text = (block_text_t *)block; int errors = 0; if (text->text == NULL) { log_error("Block '%s' requires key '%s'", block->label, "text"); errors++; } return errors; } const block_scheme_t block_text_scheme = { .name = "text", .entries = NULL, .alloc_fn = block_text_alloc, .clean_fn = block_text_clean, .validate_fn = block_text_validate, };