diff options
author | nicm <nicm> | 2021-06-10 07:52:29 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-06-10 07:52:29 +0000 |
commit | 73bf358f6da9ce8b6c2dd51849ab88a22bb883ad (patch) | |
tree | d4d132de0e4b50df8533fa18b47f050cd747ddd2 /tmux.c | |
parent | f706a7e2366ba19bb06265a331fa22a3c7546d90 (diff) | |
download | rtmux-73bf358f6da9ce8b6c2dd51849ab88a22bb883ad.tar.gz rtmux-73bf358f6da9ce8b6c2dd51849ab88a22bb883ad.tar.bz2 rtmux-73bf358f6da9ce8b6c2dd51849ab88a22bb883ad.zip |
Do not expand the file given with -f so it can contain :s.
Diffstat (limited to 'tmux.c')
-rw-r--r-- | tmux.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -338,7 +338,7 @@ main(int argc, char **argv) char *path = NULL, *label = NULL; char *cause, **var; const char *s, *cwd; - int opt, keys, feat = 0; + int opt, keys, feat = 0, fflag = 0; uint64_t flags = 0; const struct options_table_entry *oe; u_int i; @@ -383,10 +383,15 @@ main(int argc, char **argv) flags |= CLIENT_CONTROL; break; case 'f': - for (i = 0; i < cfg_nfiles; i++) - free(cfg_files[i]); - free(cfg_files); - expand_paths(optarg, &cfg_files, &cfg_nfiles, 0); + if (!fflag) { + fflag = 1; + for (i = 0; i < cfg_nfiles; i++) + free(cfg_files[i]); + cfg_nfiles = 0; + } + cfg_files = xreallocarray(cfg_files, cfg_nfiles + 1, + sizeof *cfg_files); + cfg_files[cfg_nfiles++] = xstrdup(optarg); cfg_quiet = 0; break; case 'V': |