From 17fae015206cb549d596bee24bb259fe1c4b450b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20COLANGELO?= Date: Sat, 25 Jul 2020 14:10:51 +0200 Subject: [PATCH] Added smart_records_internals.h (forgotten in initial commit) --- src/smart_records_internals.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/smart_records_internals.h diff --git a/src/smart_records_internals.h b/src/smart_records_internals.h new file mode 100644 index 0000000..a7753dd --- /dev/null +++ b/src/smart_records_internals.h @@ -0,0 +1,17 @@ +#ifndef SMART_RECORDS_INTERNALS_H +#define SMART_RECORDS_INTERNALS_H + +/* + * Small helper to populate char **error and jump to failed label. + */ +#define set_error_and_fails(x) { if (error) *error = strdup(x); goto failed; } + +typedef struct smart_records_ctx_t { + void *CTX; + int (*set_format) (struct smart_records_ctx_t *ctx, char **error, char *fmp); + int (*write_record) (struct smart_records_ctx_t *ctx, char **error, va_list ap); + int (*close_records_base) (struct smart_records_ctx_t *ctx); +} smart_records_ctx_t ; + +#endif +