Skip to content
Snippets Groups Projects
Commit fa6b8f8c authored by Dmitry Simonenko's avatar Dmitry Simonenko
Browse files

gh-185: add slash separator for pathes that are relative from work_dir.

closes #185.
parent 1dc8a656
No related branches found
No related tags found
No related merge requests found
...@@ -139,31 +139,37 @@ int main(int argc, char *argv[]) ...@@ -139,31 +139,37 @@ int main(int argc, char *argv[])
return 1; return 1;
} }
char cur_dir_snap[PATH_MAX], cur_dir_wal[PATH_MAX]; char workdir[PATH_MAX];
tss.snap_dir = cur_dir_snap; char snapdir[PATH_MAX], waldir[PATH_MAX];
tss.wal_dir = cur_dir_wal;
tss.snap_dir = snapdir;
tss.wal_dir = waldir;
if (tss.opts.cfg.work_dir != NULL)
snprintf(workdir, sizeof(workdir), "%s", tss.opts.cfg.work_dir);
else
getcwd(workdir, PATH_MAX);
if (tss.opts.cfg.work_dir != NULL) {
strncpy((char *)tss.snap_dir, tss.opts.cfg.work_dir, PATH_MAX);
strncpy((char *)tss.wal_dir, tss.opts.cfg.work_dir, PATH_MAX);
} else {
getcwd((char *)tss.snap_dir, PATH_MAX);
getcwd((char *)tss.wal_dir, PATH_MAX);
}
if (tss.opts.cfg.snap_dir != NULL) { if (tss.opts.cfg.snap_dir != NULL) {
if (tss.opts.cfg.snap_dir[0] == '/') if (tss.opts.cfg.snap_dir[0] == '/')
tss.snap_dir = tss.opts.cfg.snap_dir; tss.snap_dir = tss.opts.cfg.snap_dir;
else else {
strncat((char *)tss.snap_dir, tss.opts.cfg.snap_dir, snprintf(snapdir, sizeof(snapdir), "%s/%s", workdir,
PATH_MAX); tss.opts.cfg.snap_dir);
}
} else {
snprintf(snapdir, sizeof(snapdir), "%s", workdir);
} }
if (tss.opts.cfg.wal_dir != NULL) { if (tss.opts.cfg.wal_dir != NULL) {
if (tss.opts.cfg.wal_dir[0] == '/') if (tss.opts.cfg.wal_dir[0] == '/')
tss.wal_dir = tss.opts.cfg.wal_dir; tss.wal_dir = tss.opts.cfg.wal_dir;
else else
strncat((char *)tss.wal_dir, tss.opts.cfg.wal_dir, snprintf(waldir, sizeof(waldir), "%s/%s", workdir,
PATH_MAX); tss.opts.cfg.wal_dir);
} else {
snprintf(waldir, sizeof(waldir), "%s", workdir);
} }
/* create spaces */ /* create spaces */
rc = ts_space_init(&tss.s); rc = ts_space_init(&tss.s);
if (rc == -1) { if (rc == -1) {
......
...@@ -238,6 +238,8 @@ int ts_space_fillof(struct ts_spaces *s, int n, tarantool_cfg_space *cs) ...@@ -238,6 +238,8 @@ int ts_space_fillof(struct ts_spaces *s, int n, tarantool_cfg_space *cs)
int ts_space_fill(struct ts_spaces *s, struct ts_options *opts) int ts_space_fill(struct ts_spaces *s, struct ts_options *opts)
{ {
if (opts->cfg.space == NULL)
return 0;
int i = 0; int i = 0;
for (; opts->cfg.space[i]; i++) { for (; opts->cfg.space[i]; i++) {
tarantool_cfg_space *cs = opts->cfg.space[i]; tarantool_cfg_space *cs = opts->cfg.space[i];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment