Add support for -V flag to ipmaddr. Arbitrarily say that this
authorPhil Blundell <philb@gnu.org>
Tue, 2 Mar 1999 21:48:40 +0000 (21:48 +0000)
committerPhil Blundell <philb@gnu.org>
Tue, 2 Mar 1999 21:48:40 +0000 (21:48 +0000)
is version 1.0.
Use pathnames.h rather than hardwiring filenames.

ipmaddr.c
lib/pathnames.h

index 5edf1ac..2b99254 100644 (file)
--- a/ipmaddr.c
+++ b/ipmaddr.c
 #include <arpa/inet.h>
 #include <string.h>
 
+#include "intl.h"
 #include "utils.h"
+#include "net-support.h"
+#include "version.h"
+#include "pathnames.h"
 
 char filter_dev[16];
 int  filter_family;
@@ -34,12 +38,22 @@ int  filter_family;
 #define NEWADDR                1
 #define DELADDR                2
 
+char *Release = RELEASE,
+     *Version = "ipmaddr 1.0",
+     *Signature = "Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>";
+
+static void version(void)
+{
+    printf("%s\n%s\n%s\n", Release, Version, Signature);
+    exit(E_VERSION);
+}
+
 static void usage(void) __attribute__((noreturn));
 
 static void usage(void)
 {
-       fprintf(stderr, "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n");
-       fprintf(stderr, "       ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n");
+       fprintf(stderr, _("Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"));
+       fprintf(stderr, _("       ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"));
        exit(-1);
 }
 
@@ -117,7 +131,7 @@ void maddr_ins(struct ma_info **lst, struct ma_info *m)
 void read_dev_mcast(struct ma_info **result_p)
 {
        char buf[256];
-       FILE *fp = fopen("/proc/net/dev_mcast", "r");
+       FILE *fp = fopen(_PATH_PROCNET_DEV_MCAST, "r");
 
        if (!fp)
                return;
@@ -155,7 +169,7 @@ void read_igmp(struct ma_info **result_p)
 {
        struct ma_info m;
        char buf[256];
-       FILE *fp = fopen("/proc/net/igmp", "r");
+       FILE *fp = fopen(_PATH_PROCNET_IGMP, "r");
 
        if (!fp)
                return;
@@ -190,7 +204,7 @@ void read_igmp(struct ma_info **result_p)
 void read_igmp6(struct ma_info **result_p)
 {
        char buf[256];
-       FILE *fp = fopen("/proc/net/igmp6", "r");
+       FILE *fp = fopen(_PATH_PROCNET_IGMP6, "r");
 
        if (!fp)
                return;
@@ -334,7 +348,7 @@ int multiaddr_modify(int cmd, int argc, char **argv)
 
        fd = socket(AF_INET, SOCK_DGRAM, 0);
        if (fd < 0) {
-               perror("Cannot create socket");
+               perror(_("Cannot create socket"));
                exit(1);
        }
        if (ioctl(fd, cmd, (char*)&ifr) != 0) {
@@ -394,6 +408,8 @@ int main(int argc, char **argv)
                        ++show_stats;
                } else if (matches(argv[1], "-resolve") == 0) {
                        ++resolve_hosts;
+               } else if (matches(argv[1], "-V") == 0) {
+                       version();
                } else
                        usage();
                argc--; argv++;
index 9293df8..4ae7bfd 100644 (file)
@@ -30,7 +30,7 @@
 #define _PATH_PROCNET_ARP              "/proc/net/arp"
 #define _PATH_PROCNET_AX25             "/proc/net/ax25"
 #define _PATH_PROCNET_IPX              "/proc/net/ipx"
-#define _PATH_PROCNET_IPX_ROUTE        "/proc/net/ipx_route"
+#define _PATH_PROCNET_IPX_ROUTE                "/proc/net/ipx_route"
 #define _PATH_PROCNET_ATALK            "/proc/net/appletalk"
 #define _PATH_PROCNET_IP_BLK           "/proc/net/ip_block"
 #define _PATH_PROCNET_IP_FWD           "/proc/net/ip_forward"
@@ -42,6 +42,7 @@
 #define _PATH_PROCNET_RARP             "/proc/net/rarp"
 #define _PATH_ETHERS                   "/etc/ethers"
 #define _PATH_PROCNET_ROSE_ROUTE       "/proc/net/rose_routes"
+#define _PATH_PROCNET_DEV_MCAST                "/proc/net/dev_mcast"
 
 /* pathname for the netlink device */
 #define _PATH_DEV_ROUTE        "/dev/route"