aboutsummaryrefslogtreecommitdiff
path: root/arguments.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2014-01-31 21:39:56 +0000
committerThomas Adam <thomas@xteddy.org>2014-01-31 21:39:56 +0000
commitd50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987 (patch)
tree397f4999444c2eef367f884b815bec2a14697c3c /arguments.c
parentcbf9224c5f7bcf07352f6ea128c90c12cb0af22e (diff)
parent9f02feb9d089b1a4639afb52ab0e8212eeb55a7c (diff)
downloadrtmux-d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987.tar.gz
rtmux-d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987.tar.bz2
rtmux-d50e47fc4ab5cbbdbe6bbebdc2c36ce3aae6e987.zip
Merge branch 'obsd-master'
Conflicts: Makefile cmd-server-info.c cmd-start-server.c
Diffstat (limited to 'arguments.c')
-rw-r--r--arguments.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/arguments.c b/arguments.c
index 2b8ebc85..d4e5e53f 100644
--- a/arguments.c
+++ b/arguments.c
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include "tmux.h"
@@ -77,7 +78,6 @@ struct args *
args_parse(const char *template, int argc, char **argv)
{
struct args *args;
- char *ptr;
int opt;
args = xcalloc(1, sizeof *args);
@@ -88,7 +88,7 @@ args_parse(const char *template, int argc, char **argv)
while ((opt = getopt(argc, argv, template)) != -1) {
if (opt < 0)
continue;
- if (opt == '?' || (ptr = strchr(template, opt)) == NULL) {
+ if (opt == '?' || strchr(template, opt) == NULL) {
args_free(args);
return (NULL);
}
@@ -204,19 +204,15 @@ args_set(struct args *args, u_char ch, const char *value)
/* Replace existing argument. */
if ((entry = args_find(args, ch)) != NULL) {
free(entry->value);
- if (value != NULL)
- entry->value = xstrdup(value);
- else
- entry->value = NULL;
- return;
+ entry->value = NULL;
+ } else {
+ entry = xcalloc(1, sizeof *entry);
+ entry->flag = ch;
+ RB_INSERT(args_tree, &args->tree, entry);
}
- entry = xcalloc(1, sizeof *entry);
- entry->flag = ch;
if (value != NULL)
entry->value = xstrdup(value);
-
- RB_INSERT(args_tree, &args->tree, entry);
}
/* Get argument value. Will be NULL if it isn't present. */