mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-27 04:32:55 +00:00
change reading args of $v6addrs and add docs
This commit is contained in:
parent
2754fab78d
commit
18ce365d16
@ -3929,6 +3929,19 @@
|
|||||||
<listitem>Display time in UTC (universal coordinate time).
|
<listitem>Display time in UTC (universal coordinate time).
|
||||||
<para /></listitem>
|
<para /></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>
|
||||||
|
<option>v6addrs</option>
|
||||||
|
</command>
|
||||||
|
<option>(-n) (-s) (interface)</option>
|
||||||
|
</term>
|
||||||
|
<listitem>IPv6 addresses for an interface, followed by
|
||||||
|
netmask if -n is specified and scope with -s. Scopes are
|
||||||
|
Global(G), Host-local(H), Link-local(L), Site-local(S), Compat(C)
|
||||||
|
and Unspecified(/). Linux only.
|
||||||
|
<para /></listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<command>
|
<command>
|
||||||
|
@ -92,22 +92,28 @@ void parse_net_stat_arg(struct text_object *obj, const char *arg, void *free_at_
|
|||||||
{
|
{
|
||||||
bool shownetmask = false;
|
bool shownetmask = false;
|
||||||
bool showscope = false;
|
bool showscope = false;
|
||||||
char dev[21]; //a netdev can only be 20 chars long
|
char nextarg[21]; //longest arg possible is a devname (max 20 chars)
|
||||||
int i=0;
|
int i=0;
|
||||||
|
struct net_stat *netstat = NULL;
|
||||||
|
|
||||||
if (!arg)
|
if (!arg)
|
||||||
arg = DEFAULTNETDEV;
|
arg = DEFAULTNETDEV;
|
||||||
|
|
||||||
if (*arg == '-') { //there are flags
|
while(sscanf(arg+i, " %20s", nextarg) == 1) {
|
||||||
for(i=1; arg[i] != ' ' && arg[i] != 0; i++) {
|
if(strcmp(nextarg, "-n") == 0 || strcmp(nextarg, "--netmask") == 0) shownetmask = true;
|
||||||
if(arg[i]=='n') shownetmask = true;
|
else if(strcmp(nextarg, "-s") == 0 || strcmp(nextarg, "--scope") == 0) showscope = true;
|
||||||
if(arg[i]=='s') showscope = true;
|
else if(nextarg[0]=='-') { //multiple flags in 1 arg
|
||||||
|
for(int j=1; nextarg[j] != 0; j++) {
|
||||||
|
if(nextarg[j]=='n') shownetmask = true;
|
||||||
|
if(nextarg[j]=='s') showscope = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else netstat = get_net_stat(nextarg, obj, free_at_crash);
|
||||||
|
i+=strlen(nextarg); //skip this arg
|
||||||
|
while( ! (isspace(arg[i]) || arg[i] == 0)) i++; //and skip the spaces in front of it
|
||||||
}
|
}
|
||||||
sscanf(arg+i, "%20s", dev);
|
if(netstat == NULL) netstat = get_net_stat(DEFAULTNETDEV, obj, free_at_crash);
|
||||||
if(*dev==0) strcpy(dev, DEFAULTNETDEV);
|
|
||||||
|
|
||||||
struct net_stat *netstat = get_net_stat(dev, obj, free_at_crash);
|
|
||||||
#ifdef BUILD_IPV6
|
#ifdef BUILD_IPV6
|
||||||
netstat->v6show_nm = shownetmask;
|
netstat->v6show_nm = shownetmask;
|
||||||
netstat->v6show_sc = showscope;
|
netstat->v6show_sc = showscope;
|
||||||
|
Loading…
Reference in New Issue
Block a user