mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-22 02:37:15 +00:00
ifconfig: Add format shortcuts.
MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D45166
This commit is contained in:
parent
c9f4001f81
commit
847ef59d4b
|
@ -25,7 +25,7 @@
|
||||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.Dd May 1, 2024
|
.Dd May 12, 2024
|
||||||
.Dt IFCONFIG 8
|
.Dt IFCONFIG 8
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
|
@ -135,7 +135,7 @@ and their associated
|
||||||
.Ar format
|
.Ar format
|
||||||
strings are:
|
strings are:
|
||||||
.Pp
|
.Pp
|
||||||
.Bl -tag -width ether
|
.Bl -tag -width default
|
||||||
.It Cm addr
|
.It Cm addr
|
||||||
Adjust the display of inet and inet6 addresses:
|
Adjust the display of inet and inet6 addresses:
|
||||||
.Pp
|
.Pp
|
||||||
|
@ -200,6 +200,16 @@ Integer format, for example:
|
||||||
.Ql prefixlen 64
|
.Ql prefixlen 64
|
||||||
.El
|
.El
|
||||||
.El
|
.El
|
||||||
|
.Pp
|
||||||
|
In addition, the following shortcuts are accepted:
|
||||||
|
.Bl -tag -width default
|
||||||
|
.It Cm default
|
||||||
|
Resets all formats to their default values.
|
||||||
|
.It Cm cidr
|
||||||
|
Shortcut notation for
|
||||||
|
.Cm inet:cidr,inet6:cidr .
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
.It Fl G Ar groupname
|
.It Fl G Ar groupname
|
||||||
Exclude members of the specified
|
Exclude members of the specified
|
||||||
.Ar groupname
|
.Ar groupname
|
||||||
|
|
|
@ -313,14 +313,10 @@ cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q)
|
||||||
static void freeformat(void)
|
static void freeformat(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (f_inet != NULL)
|
free(f_inet);
|
||||||
free(f_inet);
|
free(f_inet6);
|
||||||
if (f_inet6 != NULL)
|
free(f_ether);
|
||||||
free(f_inet6);
|
free(f_addr);
|
||||||
if (f_ether != NULL)
|
|
||||||
free(f_ether);
|
|
||||||
if (f_addr != NULL)
|
|
||||||
free(f_addr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setformat(char *input)
|
static void setformat(char *input)
|
||||||
|
@ -330,9 +326,18 @@ static void setformat(char *input)
|
||||||
formatstr = strdup(input);
|
formatstr = strdup(input);
|
||||||
while ((category = strsep(&formatstr, ",")) != NULL) {
|
while ((category = strsep(&formatstr, ",")) != NULL) {
|
||||||
modifier = strchr(category, ':');
|
modifier = strchr(category, ':');
|
||||||
if (modifier == NULL || modifier[1] == '\0') {
|
if (modifier == NULL) {
|
||||||
warnx("Skipping invalid format specification: %s\n",
|
if (strcmp(category, "default") == 0) {
|
||||||
category);
|
freeformat();
|
||||||
|
} else if (strcmp(category, "cidr") == 0) {
|
||||||
|
free(f_inet);
|
||||||
|
f_inet = strdup(category);
|
||||||
|
free(f_inet6);
|
||||||
|
f_inet6 = strdup(category);
|
||||||
|
} else {
|
||||||
|
warnx("Skipping invalid format: %s\n",
|
||||||
|
category);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -340,14 +345,19 @@ static void setformat(char *input)
|
||||||
modifier[0] = '\0';
|
modifier[0] = '\0';
|
||||||
modifier++;
|
modifier++;
|
||||||
|
|
||||||
if (strcmp(category, "addr") == 0)
|
if (strcmp(category, "addr") == 0) {
|
||||||
|
free(f_addr);
|
||||||
f_addr = strdup(modifier);
|
f_addr = strdup(modifier);
|
||||||
else if (strcmp(category, "ether") == 0)
|
} else if (strcmp(category, "ether") == 0) {
|
||||||
|
free(f_ether);
|
||||||
f_ether = strdup(modifier);
|
f_ether = strdup(modifier);
|
||||||
else if (strcmp(category, "inet") == 0)
|
} else if (strcmp(category, "inet") == 0) {
|
||||||
|
free(f_inet);
|
||||||
f_inet = strdup(modifier);
|
f_inet = strdup(modifier);
|
||||||
else if (strcmp(category, "inet6") == 0)
|
} else if (strcmp(category, "inet6") == 0) {
|
||||||
|
free(f_inet6);
|
||||||
f_inet6 = strdup(modifier);
|
f_inet6 = strdup(modifier);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
free(formatstr);
|
free(formatstr);
|
||||||
}
|
}
|
||||||
|
@ -612,8 +622,6 @@ main(int ac, char *av[])
|
||||||
.io_s = -1,
|
.io_s = -1,
|
||||||
};
|
};
|
||||||
|
|
||||||
f_inet = f_inet6 = f_ether = f_addr = NULL;
|
|
||||||
|
|
||||||
lifh = ifconfig_open();
|
lifh = ifconfig_open();
|
||||||
if (lifh == NULL)
|
if (lifh == NULL)
|
||||||
err(EXIT_FAILURE, "ifconfig_open");
|
err(EXIT_FAILURE, "ifconfig_open");
|
||||||
|
|
Loading…
Reference in a new issue