File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / confuse / tests / empty_string.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 00:49:17 2021 UTC (3 years, 3 months ago) by misho
Branches: confuse, MAIN
CVS tags: v3_3, HEAD
confuse 3.3

    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>