Skip to content

Commit

Permalink
Fix issue libconfuse#33: Reindent to Linux coding style
Browse files Browse the repository at this point in the history
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
  • Loading branch information
troglobit committed Oct 20, 2015
1 parent f867a2b commit fe55bfd
Show file tree
Hide file tree
Showing 22 changed files with 2,815 additions and 3,027 deletions.
370 changes: 185 additions & 185 deletions examples/cfgtest.c

Large diffs are not rendered by default.

57 changes: 23 additions & 34 deletions examples/cli.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ static int cmdc;
static char **cmdv;
static int cmdv_max;

static int
reserve_cmdv(int cmdc)
static int reserve_cmdv(int cmdc)
{
int cmd_max = cmdv_max;
char **tmp;
Expand All @@ -45,8 +44,7 @@ reserve_cmdv(int cmdc)
return 0;
}

static int
split_cmd(char *cmd)
static int split_cmd(char *cmd)
{
char *out = cmd;
int arg;
Expand All @@ -55,13 +53,15 @@ split_cmd(char *cmd)

for (;;) {
char ch;

arg = 0;
while (*cmd == ' ')
++cmd;
next_char:
next_char:
ch = *cmd++;
if (ch == '"' || ch == '\'') {
char end = ch;

if (!arg) {
if (reserve_cmdv(cmdc + 1))
return -1;
Expand Down Expand Up @@ -91,8 +91,7 @@ split_cmd(char *cmd)
return cmdc;
}

static char *
input_cmd(void)
static char *input_cmd(void)
{
int ch;
char *cmd = malloc(128);
Expand All @@ -114,6 +113,7 @@ input_cmd(void)
default:
if (pos == len) {
char *tmp = realloc(cmd, len * 2);

if (!tmp)
goto cleanup;
cmd = tmp;
Expand All @@ -124,30 +124,24 @@ input_cmd(void)
return cmd;
}
}
cleanup:
cleanup:
free(cmd);
return NULL;
}

static const char *
help(int argc, char *argv[])
static const char *help(int argc, char *argv[])
{
return
"available commands:\n"
"\n"
"help\n"
"set <option> <value> ...\n"
"subset <section> <option> <value>\n"
"create <section>\n"
"destroy <section>\n"
"dump\n"
"quit\n"
"\n"
"<option> is one of 'bool', 'int' 'string' and 'float'.\n";
"available commands:\n"
"\n"
"help\n"
"set <option> <value> ...\n"
"subset <section> <option> <value>\n"
"create <section>\n"
"destroy <section>\n" "dump\n" "quit\n" "\n" "<option> is one of 'bool', 'int' 'string' and 'float'.\n";
}

static const char *
set(int argc, char *argv[])
static const char *set(int argc, char *argv[])
{
if (argc < 3)
return "Need more args\n";
Expand All @@ -161,8 +155,7 @@ set(int argc, char *argv[])
return "OK\n";
}

static const char *
subset(int argc, char *argv[])
static const char *subset(int argc, char *argv[])
{
cfg_t *sub;

Expand All @@ -184,8 +177,7 @@ subset(int argc, char *argv[])
return "OK\n";
}

static const char *
create(int argc, char *argv[])
static const char *create(int argc, char *argv[])
{
char *buf;

Expand All @@ -206,8 +198,7 @@ create(int argc, char *argv[])
return "OK\n";
}

static const char *
destroy(int argc, char *argv[])
static const char *destroy(int argc, char *argv[])
{
if (argc < 2)
return "Need one arg\n";
Expand All @@ -219,22 +210,20 @@ destroy(int argc, char *argv[])
return "OK\n";
}

static const char *
dump(int argc, char *argv[])
static const char *dump(int argc, char *argv[])
{
cfg_print(cfg, stdout);
return "";
}

static const char *
quit(int argc, char *argv[])
static const char *quit(int argc, char *argv[])
{
return NULL;
}

struct cmd_handler {
const char *cmd;
const char *(*handler)(int argc, char *argv[]);
const char *(*handler) (int argc, char *argv[]);
};

static const struct cmd_handler cmds[] = {
Expand Down
199 changes: 93 additions & 106 deletions examples/ftpconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,135 +15,122 @@
/* called on alias() functions in the config file */
int conf_alias(cfg_t *cfg, cfg_opt_t *opt, int argc, const char **argv)
{
if(argc < 2)
{
cfg_error(cfg, "function '%s' requires 2 arguments", cfg_opt_name(opt));
return -1;
}
printf("got alias '%s' = '%s'\n", argv[0], argv[1]);
return 0;
if (argc < 2) {
cfg_error(cfg, "function '%s' requires 2 arguments", cfg_opt_name(opt));
return -1;
}
printf("got alias '%s' = '%s'\n", argv[0], argv[1]);
return 0;
}

/* parse values for the auto-create-bookmark option */
int conf_parse_acb(cfg_t *cfg, cfg_opt_t *opt, const char *value, void *result)
{
if(strcmp(value, "yes") == 0)
*(int *)result = ACB_YES;
else if(strcmp(value, "no") == 0)
*(int *)result = ACB_NO;
else if(strcmp(value, "ask") == 0)
*(int *)result = ACB_ASK;
else
{
cfg_error(cfg, "invalid value for option '%s': %s",
cfg_opt_name(opt), value);
return -1;
}
return 0;
if (strcmp(value, "yes") == 0)
*(int *)result = ACB_YES;
else if (strcmp(value, "no") == 0)
*(int *)result = ACB_NO;
else if (strcmp(value, "ask") == 0)
*(int *)result = ACB_ASK;
else {
cfg_error(cfg, "invalid value for option '%s': %s", cfg_opt_name(opt), value);
return -1;
}
return 0;
}

/* validates a port option (must be positive) */
int conf_validate_port(cfg_t *cfg, cfg_opt_t *opt)
{
int value = cfg_opt_getnint(opt, 0);
if(value <= 0)
{
cfg_error(cfg, "invalid port %d in section '%s'", value, cfg_name(cfg));
return -1;
}
return 0;
int value = cfg_opt_getnint(opt, 0);

if (value <= 0) {
cfg_error(cfg, "invalid port %d in section '%s'", value, cfg_name(cfg));
return -1;
}
return 0;
}

/* validates a bookmark section (host option required) */
int conf_validate_bookmark(cfg_t *cfg, cfg_opt_t *opt)
{
cfg_t *bookmark = cfg_opt_getnsec(opt, cfg_opt_size(opt) - 1);
if(cfg_size(bookmark, "host") == 0)
{
cfg_error(cfg, "missing required option 'host' in bookmark");
return -1;
}
return 0;
cfg_t *bookmark = cfg_opt_getnsec(opt, cfg_opt_size(opt) - 1);

if (cfg_size(bookmark, "host") == 0) {
cfg_error(cfg, "missing required option 'host' in bookmark");
return -1;
}
return 0;
}

cfg_t *parse_conf(const char *filename)
{
static cfg_opt_t bookmark_opts[] = {
CFG_STR("host", 0, CFGF_NODEFAULT),
CFG_INT("port", 21, CFGF_NONE),
CFG_STR("login", "anonymous", CFGF_NONE),
CFG_STR("password", "anonymous@", CFGF_NONE),
CFG_STR("directory", 0, CFGF_NONE),
CFG_END()
};

cfg_opt_t opts[] = {
CFG_SEC("bookmark", bookmark_opts, CFGF_MULTI | CFGF_TITLE),
CFG_BOOL("passive-mode", cfg_false, CFGF_NONE),
CFG_BOOL("remote-completion", cfg_true, CFGF_NONE),
CFG_FUNC("alias", conf_alias),
CFG_STR_LIST("xterm-terminals", "{xterm, rxvt}", CFGF_NONE),
CFG_INT_CB("auto-create-bookmark", ACB_YES, CFGF_NONE, conf_parse_acb),
CFG_FUNC("include-file", cfg_include),
CFG_END()
};

cfg_t *cfg = cfg_init(opts, CFGF_NONE);
cfg_set_validate_func(cfg, "bookmark|port", conf_validate_port);
cfg_set_validate_func(cfg, "bookmark", conf_validate_bookmark);

switch(cfg_parse(cfg, filename))
{
case CFG_FILE_ERROR:
printf("warning: configuration file '%s' could not be read: %s\n",
filename, strerror(errno));
printf("continuing with default values...\n\n");
case CFG_SUCCESS:
break;
case CFG_PARSE_ERROR:
return 0;
}

return cfg;
static cfg_opt_t bookmark_opts[] = {
CFG_STR("host", 0, CFGF_NODEFAULT),
CFG_INT("port", 21, CFGF_NONE),
CFG_STR("login", "anonymous", CFGF_NONE),
CFG_STR("password", "anonymous@", CFGF_NONE),
CFG_STR("directory", 0, CFGF_NONE),
CFG_END()
};

cfg_opt_t opts[] = {
CFG_SEC("bookmark", bookmark_opts, CFGF_MULTI | CFGF_TITLE),
CFG_BOOL("passive-mode", cfg_false, CFGF_NONE),
CFG_BOOL("remote-completion", cfg_true, CFGF_NONE),
CFG_FUNC("alias", conf_alias),
CFG_STR_LIST("xterm-terminals", "{xterm, rxvt}", CFGF_NONE),
CFG_INT_CB("auto-create-bookmark", ACB_YES, CFGF_NONE, conf_parse_acb),
CFG_FUNC("include-file", cfg_include),
CFG_END()
};

cfg_t *cfg = cfg_init(opts, CFGF_NONE);

cfg_set_validate_func(cfg, "bookmark|port", conf_validate_port);
cfg_set_validate_func(cfg, "bookmark", conf_validate_bookmark);

switch (cfg_parse(cfg, filename)) {
case CFG_FILE_ERROR:
printf("warning: configuration file '%s' could not be read: %s\n", filename, strerror(errno));
printf("continuing with default values...\n\n");
case CFG_SUCCESS:
break;
case CFG_PARSE_ERROR:
return 0;
}

return cfg;
}

int main(int argc, char **argv)
{
cfg_t *cfg = parse_conf(argc > 1 ? argv[1] : "ftp.conf");

/* print the parsed configuration options */
if(cfg)
{
unsigned int i;

printf("passive-mode = %s\n",
cfg_getbool(cfg, "passive-mode") ? "true" : "false");
printf("remote-completion = %s\n",
cfg_getbool(cfg, "remote-completion") ? "true" : "false");

printf("number of bookmarks: %d\n", cfg_size(cfg, "bookmark"));
for(i = 0; i < cfg_size(cfg, "bookmark"); i++)
{
cfg_t *bookmark = cfg_getnsec(cfg, "bookmark", i);
printf(" bookmark #%d: %s:%s@%s:%ld%s\n", i+1,
cfg_getstr(bookmark, "login"),
cfg_getstr(bookmark, "password"),
cfg_getstr(bookmark, "host"),
cfg_getint(bookmark, "port"),
cfg_getstr(bookmark, "directory"));
}

for(i = 0; i < cfg_size(cfg, "xterm-terminals"); i++)
{
printf("xterm-terminal #%d: %s\n",
i+1, cfg_getnstr(cfg, "xterm-terminals", i));
}
cfg_t *cfg = parse_conf(argc > 1 ? argv[1] : "ftp.conf");

printf("auto-create-bookmark = %ld\n",
cfg_getint(cfg, "auto-create-bookmark"));
cfg_free(cfg);
}
/* print the parsed configuration options */
if (cfg) {
unsigned int i;

return 0;
}
printf("passive-mode = %s\n", cfg_getbool(cfg, "passive-mode") ? "true" : "false");
printf("remote-completion = %s\n", cfg_getbool(cfg, "remote-completion") ? "true" : "false");

printf("number of bookmarks: %d\n", cfg_size(cfg, "bookmark"));
for (i = 0; i < cfg_size(cfg, "bookmark"); i++) {
cfg_t *bookmark = cfg_getnsec(cfg, "bookmark", i);

printf(" bookmark #%d: %s:%s@%s:%ld%s\n", i + 1,
cfg_getstr(bookmark, "login"),
cfg_getstr(bookmark, "password"),
cfg_getstr(bookmark, "host"), cfg_getint(bookmark, "port"), cfg_getstr(bookmark, "directory"));
}

for (i = 0; i < cfg_size(cfg, "xterm-terminals"); i++) {
printf("xterm-terminal #%d: %s\n", i + 1, cfg_getnstr(cfg, "xterm-terminals", i));
}

printf("auto-create-bookmark = %ld\n", cfg_getint(cfg, "auto-create-bookmark"));
cfg_free(cfg);
}

return 0;
}

0 comments on commit fe55bfd

Please sign in to comment.