diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/aplwc.h | 5 | ||||
| -rw-r--r-- | src/include/aplwc_macros.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/include/aplwc.h b/src/include/aplwc.h index 459a036..5a6cb79 100644 --- a/src/include/aplwc.h +++ b/src/include/aplwc.h @@ -47,9 +47,11 @@ typedef struct { struct aplwc_ref ref; } AplwcValue; struct aplwc_fns { void *(*alloc)(size_t, size_t *); void (*dealloc)(void *); - int (*hook_alloc)(void); }; +extern uint64_t aplwc_simulate_failure_at; +extern uint64_t aplwc_simulate_failure_count; + struct aplwc *aplwc_new(struct aplwc_fns, enum aplwc_rc *); void aplwc_destroy(struct aplwc *); void aplwc_clear_line(AplwcLine *); @@ -65,5 +67,6 @@ void aplwc_eval(AplwcLine *, AplwcValue *); void aplwc_free_value(AplwcValue *); const char *aplwc_value_string(AplwcValue *); enum aplwc_rc aplwc_load_module(struct aplwc *, const char *, const char *, int n); +int aplwc_simulate_failure(void); #endif /* APLWC_H */ diff --git a/src/include/aplwc_macros.h b/src/include/aplwc_macros.h index f68fea9..80ada28 100644 --- a/src/include/aplwc_macros.h +++ b/src/include/aplwc_macros.h @@ -38,5 +38,7 @@ #define DEBUG(x) ((void)0) #endif +#define FAILCASE(x, fail) (aplwc_simulate_failure() ? (fail) : (x)) +#define FAILCASE_X(x, fail, test) ((test) ? (fail) : (x)) #endif /* APLWC_MACROS_H */ |