From 9ffbf32b1de1f2062e5c9a1e354ea9215c63a4e6 Mon Sep 17 00:00:00 2001 From: Kevin Lyles Date: Thu, 19 Jun 2008 19:54:31 +0000 Subject: [PATCH] Changed addr to print "No Address" when there is no address git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1167 7f574dfc-610e-0410-a909-a81674777703 --- doc/variables.xml | 2 +- src/conky.c | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/variables.xml b/doc/variables.xml index 224d566..ac786dd 100644 --- a/doc/variables.xml +++ b/doc/variables.xml @@ -5,7 +5,7 @@ - IP address for an interface + IP address for an interface, or "No Address" if no address is assigned. diff --git a/src/conky.c b/src/conky.c index 2bd6b42..e31e304 100644 --- a/src/conky.c +++ b/src/conky.c @@ -4718,11 +4718,18 @@ static void generate_text_internal(char *p, int p_max_size, } #ifdef HAVE_POPEN OBJ(addr) { - snprintf(p, p_max_size, "%u.%u.%u.%u", - obj->data.net->addr.sa_data[2] & 255, - obj->data.net->addr.sa_data[3] & 255, - obj->data.net->addr.sa_data[4] & 255, - obj->data.net->addr.sa_data[5] & 255); + if ((obj->data.net->addr.sa_data[2] & 255) == 0 + && (obj->data.net->addr.sa_data[3] & 255) == 0 + && (obj->data.net->addr.sa_data[4] & 255) == 0 + && (obj->data.net->addr.sa_data[5] & 255) == 0) { + snprintf(p, p_max_size, "No Address"); + } else { + snprintf(p, p_max_size, "%u.%u.%u.%u", + obj->data.net->addr.sa_data[2] & 255, + obj->data.net->addr.sa_data[3] & 255, + obj->data.net->addr.sa_data[4] & 255, + obj->data.net->addr.sa_data[5] & 255); + } } #if defined(__linux__) OBJ(addrs) { -- 1.7.9.5