]> git.ozlabs.org Git - ccan/blobdiff - ccan/opt/private.h
opt: add allocator setting.
[ccan] / ccan / opt / private.h
index e4ad24a2be9e7947f862d295bef76b330c735c90..8d7815c86b8a90da32c87807f0424b17291d42ae 100644 (file)
@@ -7,13 +7,20 @@ extern unsigned int opt_count, opt_num_short, opt_num_short_arg, opt_num_long;
 
 extern const char *opt_argv0;
 
-#define subtable_of(entry) ((struct opt_table *)((entry)->names))
+#define subtable_of(entry) ((const struct opt_table *)((entry)->names))
 
 const char *first_sopt(unsigned *i);
 const char *next_sopt(const char *names, unsigned *i);
 const char *first_lopt(unsigned *i, unsigned *len);
 const char *next_lopt(const char *p, unsigned *i, unsigned *len);
 
+struct opt_alloc {
+       void *(*alloc)(size_t size);
+       void *(*realloc)(void *ptr, size_t size);
+       void (*free)(void *ptr);
+};
+extern struct opt_alloc opt_alloc;
+
 int parse_one(int *argc, char *argv[], enum opt_type is_early, unsigned *offset,
              void (*errlog)(const char *fmt, ...));