This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Tarantool -- an efficient key/value data store".
The branch core-cfg_get has been created
at 193b809592e3540e05ac34d64fd3f0c642c4722c (commit)
commit 193b809592e3540e05ac34d64fd3f0c642c4722c
Author: Roman Tokarev <[email protected]>
Date: Mon Dec 6 15:27:46 2010 +0300
[core] add --cfg_get option
diff --git a/core/tarantool.c b/core/tarantool.c
index 8e89ba1..138a024 100644
--- a/core/tarantool.c
+++ b/core/tarantool.c
@@ -226,6 +226,7 @@ main(int argc, char **argv)
{
int c, verbose = 0;
char *cat_filename = NULL;
+ char *cfg_paramname = NULL;
bool be_daemon = false;
int n_accepted, n_skipped;
FILE *f;
@@ -269,6 +270,10 @@ main(int argc, char **argv)
.has_arg = 0,
.flag = NULL,
.val = 'D'},
+ {.name = "cfg_get",
+ .has_arg = 1,
+ .flag = NULL,
+ .val = 'g'},
{.name = NULL,
.has_arg = 0,
.flag = NULL,
@@ -302,6 +307,10 @@ main(int argc, char **argv)
case 'I':
init_storage = true;
break;
+ case 'g':
+ role = cfg_get;
+ cfg_paramname = strdup(optarg);
+ break;
}
}
@@ -319,6 +328,7 @@ main(int argc, char **argv)
fprintf(stderr, " -p, --create_pid\n");
fprintf(stderr, " -v, --verbose\n");
fprintf(stderr, " -D, --daemonize\n");
+ fprintf(stderr, " --cfg_get=paramname\n");
return 0;
}
@@ -355,6 +365,25 @@ main(int argc, char **argv)
}
#endif
+ if (role == cfg_get) {
+ tarantool_cfg_iterator_t *i;
+ char *key, *value;
+
+ i = tarantool_cfg_iterator_init();
+ while ((key = tarantool_cfg_iterator_next(i, &cfg, &value)) !=
NULL) {
+ if (strcmp(key, cfg_paramname) == 0) {
+ printf("%s\n", value);
+ free(value);
+
+ return 0;
+ }
+
+ free(value);
+ }
+
+ return 0;
+ }
+
cfg.log_level += verbose;
if (cfg.work_dir != NULL && chdir(cfg.work_dir) == -1)
diff --git a/include/tarantool.h b/include/tarantool.h
index ff8600b..a308f3e 100644
--- a/include/tarantool.h
+++ b/include/tarantool.h
@@ -51,7 +51,7 @@ double tarantool_uptime(void);
char **init_set_proc_title(int argc, char **argv);
void set_proc_title(const char *format, ...);
-enum tarantool_role { usage, cat, def };
+enum tarantool_role { usage, cat, def, cfg_get };
extern enum tarantool_role role;
#endif
--
Tarantool -- an efficient key/value data store
_______________________________________________
Mailing list: https://launchpad.net/~tarantool-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~tarantool-developers
More help : https://help.launchpad.net/ListHelp