From 564a14bcd866b39252a4c1f839d6df1377bdb336 Mon Sep 17 00:00:00 2001 From: Florian Weik Date: Fri, 28 Aug 2015 14:52:21 +0200 Subject: [PATCH] Fix NAME variable in subnet-* scripts for local subnets. --- src/subnet.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/subnet.c b/src/subnet.c index 6e8ad07..b4a636b 100644 --- a/src/subnet.c +++ b/src/subnet.c @@ -534,18 +534,17 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) { xasprintf(&envp[1], "DEVICE=%s", device ? : ""); xasprintf(&envp[2], "INTERFACE=%s", iface ? : ""); xasprintf(&envp[3], "NODE=%s", owner->name); + xasprintf(&envp[4], "NAME=%s", myself->name); if(owner != myself) { sockaddr2str(&owner->address, &address, &port); - // 4 and 5 are reserved for SUBNET and WEIGHT - xasprintf(&envp[6], "REMOTEADDRESS=%s", address); - xasprintf(&envp[7], "REMOTEPORT=%s", port); + // 5 and 6 are reserved for SUBNET and WEIGHT + xasprintf(&envp[7], "REMOTEADDRESS=%s", address); + xasprintf(&envp[8], "REMOTEPORT=%s", port); free(port); free(address); } - xasprintf(&envp[8], "NAME=%s", myself->name); - name = up ? "subnet-up" : "subnet-down"; if(!subnet) { @@ -561,12 +560,12 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) { weight = empty; // Prepare the SUBNET and WEIGHT variables - if(envp[4]) - free(envp[4]); if(envp[5]) free(envp[5]); - xasprintf(&envp[4], "SUBNET=%s", netstr); - xasprintf(&envp[5], "WEIGHT=%s", weight); + if(envp[6]) + free(envp[6]); + xasprintf(&envp[5], "SUBNET=%s", netstr); + xasprintf(&envp[6], "WEIGHT=%s", weight); execute_script(name, envp); } @@ -580,8 +579,8 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) { weight = empty; // Prepare the SUBNET and WEIGHT variables - xasprintf(&envp[4], "SUBNET=%s", netstr); - xasprintf(&envp[5], "WEIGHT=%s", weight); + xasprintf(&envp[5], "SUBNET=%s", netstr); + xasprintf(&envp[6], "WEIGHT=%s", weight); execute_script(name, envp); } -- 2.25.1