Annotation of embedaddon/confuse/tests/empty_string.c, revision 1.1
1.1 ! misho 1: #include "check_confuse.h"
! 2: #include <stdio.h>
! 3: #include <string.h>
! 4:
! 5: #ifndef HAVE_FMEMOPEN
! 6: extern FILE *fmemopen(void *buf, size_t size, const char *type);
! 7: #endif
! 8:
! 9: int main(void)
! 10: {
! 11: cfg_opt_t opts[] = {
! 12: CFG_STR("string", "hello", CFGF_NONE),
! 13: CFG_END()
! 14: };
! 15: cfg_t *cfg;
! 16: char buf[100]; /* should be enough */
! 17: FILE *f;
! 18:
! 19: /*
! 20: * override the default with a config with an empty string
! 21: * and then generate a temporary config file with that
! 22: */
! 23: cfg = cfg_init(opts, 0);
! 24: fail_unless(cfg_parse_buf(cfg, "string = ''") == CFG_SUCCESS);
! 25: fail_unless(strcmp(cfg_getstr(cfg, "string"), "") == 0);
! 26: f = fmemopen(buf, sizeof(buf), "w+");
! 27: fail_unless(f != NULL);
! 28: cfg_print(cfg, f);
! 29: cfg_free(cfg);
! 30:
! 31: /*
! 32: * try to reload the generated temporary config file to check
! 33: * that the default is indeed overridden by an empty string
! 34: */
! 35: cfg = cfg_init(opts, 0);
! 36: fseek(f, 0L, SEEK_SET);
! 37: fail_unless(cfg_parse_fp(cfg, f) == CFG_SUCCESS);
! 38: fclose(f);
! 39: fail_unless(strcmp(cfg_getstr(cfg, "string"), "") == 0);
! 40: cfg_free(cfg);
! 41:
! 42: return 0;
! 43: }
! 44:
! 45: /**
! 46: * Local Variables:
! 47: * indent-tabs-mode: t
! 48: * c-file-style: "linux"
! 49: * End:
! 50: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>