From 33521eabd4501b4add35468618453ac4f76311f3 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Sat, 21 Jul 2012 15:15:04 +0200 Subject: [PATCH] Have tincd and tincctl use the same method of determining netname. --- src/tincctl.c | 14 +++++++++----- src/tincd.c | 14 +++++++++++--- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/tincctl.c b/src/tincctl.c index a3688eca..f547639a 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -187,11 +187,15 @@ static bool parse_options(int argc, char **argv) { } } - if(!netname) { - netname = getenv("NETNAME"); - if(netname) - netname = xstrdup(netname); - } + if(!netname && (netname = getenv("NETNAME"))) + netname = xstrdup(netname); + + /* netname "." is special: a "top-level name" */ + + if(!strcmp(netname, ".")) { + free(netname); + netname = NULL; + } return true; } diff --git a/src/tincd.c b/src/tincd.c index 9f65bbea..85aee39f 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -177,9 +177,7 @@ static bool parse_options(int argc, char **argv) { break; case 'n': /* net name given */ - /* netname "." is special: a "top-level name" */ - netname = strcmp(optarg, ".") != 0 ? - xstrdup(optarg) : NULL; + netname = xstrdup(optarg); break; case 'o': /* option */ @@ -228,6 +226,16 @@ static bool parse_options(int argc, char **argv) { } } + if(!netname && (netname = getenv("NETNAME"))) + netname = xstrdup(netname); + + /* netname "." is special: a "top-level name" */ + + if(!strcmp(netname, ".")) { + free(netname); + netname = NULL; + } + return true; } -- 2.39.5