/
githubmirror
/
libeconf
Обзор
Документация
Войти
/
githubmirror
/
libeconf
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/tst-man-dir.c
82 строки
2 KB
Stefan Schubert
Removed PATH_MAX (#226)
09 дек 2024, 18:49
Не верифицирован
09 дек 2024, 18:49
3f83557
Код
Авторство
О чём код?
#ifdef HAVE_CONFIG_H # include <config.h> #endif #include <stdio.h> #include <string.h> #include "libeconf.h" /* Test case: Defining manual parsing directories. */ static int check_key(econf_file *key_file, char *key, char *expected_val) { char *val = NULL; econf_err error = econf_getStringValue (key_file, "", key, &val); if (expected_val == NULL) { if (val == NULL) return 0; fprintf (stderr, "ERROR: %s has value \"%s\"\n", key, val); return 1; } if (val == NULL || strlen(val) == 0) { fprintf (stderr, "ERROR: %s returns nothing! (%s)\n", key, econf_errString(error)); return 1; } if (strcmp (val, expected_val) != 0) { fprintf (stderr, "ERROR: %s is not \"%s\"\n", key, expected_val); return 1; } printf("Ok: %s=%s\n", key, val); free (val); return 0; } int main(void) { econf_file *key_file = NULL; int retval = 0; econf_err error; if ((error = econf_newKeyFile_with_options(&key_file, "PARSING_DIRS="TESTSDIR"tst-man-dir-data/usr/etc/:"TESTSDIR"tst-man-dir-data/run:"TESTSDIR"tst-man-dir-data/etc"))) { fprintf (stderr, "ERROR: couldn't create new econf_file: %s\n", econf_errString(error)); return 1; } error = econf_readConfig (&key_file, NULL, TESTSDIR"tst-man-dir-data/usr/etc", "getconfdir", "conf", "=", "#"); if (error) { fprintf (stderr, "ERROR: econf_readConfig: %s\n", econf_errString(error)); return 1; } if (check_key(key_file, "KEY1", "etc") != 0) retval = 1; if (check_key(key_file, "USRETC", NULL) != 0) retval = 1; if (check_key(key_file, "RUN", NULL) != 0) retval = 1; if (check_key(key_file, "ETC", "true") != 0) retval = 1; econf_free (key_file); return retval; }