]> git.ozlabs.org Git - ppp.git/blobdiff - pppstats/pppstats.c
pppd: Add defaultroute6 and related options
[ppp.git] / pppstats / pppstats.c
index a0d3d7f5b6d00f6968ff5c5d9f99b25d5ba43a0d..843f7eaa6247e37b64bfe049b67df2f04edf839d 100644 (file)
@@ -36,7 +36,7 @@
 #endif
 
 #ifndef lint
-static const char rcsid[] = "$Id: pppstats.c,v 1.28 2000/04/24 02:54:18 masputra Exp $";
+static const char rcsid[] = "$Id: pppstats.c,v 1.29 2002/10/27 12:56:26 fcusack Exp $";
 #endif
 
 #include <stdio.h>
@@ -53,13 +53,13 @@ static const char rcsid[] = "$Id: pppstats.c,v 1.28 2000/04/24 02:54:18 masputra
 #include <sys/ioctl.h>
 
 #ifndef STREAMS
-#if defined(_linux_) && defined(__powerpc__) \
+#if defined(__linux__) && defined(__powerpc__) \
     && (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
 /* kludge alert! */
 #undef __GLIBC__
 #endif
 #include <sys/socket.h>                /* *BSD, Linux, NeXT, Ultrix etc. */
-#ifndef _linux_
+#ifndef __linux__
 #include <net/if.h>
 #include <net/ppp_defs.h>
 #include <net/if_ppp.h>
@@ -74,7 +74,7 @@ static const char rcsid[] = "$Id: pppstats.c,v 1.28 2000/04/24 02:54:18 masputra
 #endif
 #include <linux/ppp_defs.h>
 #include <linux/if_ppp.h>
-#endif /* _linux_ */
+#endif /* __linux__ */
 
 #else  /* STREAMS */
 #include <sys/stropts.h>       /* SVR4, Solaris 2, SunOS 4, OSF/1, etc. */
@@ -88,7 +88,6 @@ int   aflag;                  /* print absolute values, not deltas */
 int    dflag;                  /* print data rates, not bytes */
 int    interval, count;
 int    infinite;
-int    unit;
 int    s;                      /* socket or /dev/ppp file descriptor */
 int    signalled;              /* set if alarm goes off "early" */
 char   *progname;
@@ -144,13 +143,14 @@ get_ppp_stats(curp)
 
     memset (&req, 0, sizeof (req));
 
-#ifdef _linux_
+#ifdef __linux__
     req.stats_ptr = (caddr_t) &req.stats;
 #undef ifr_name
 #define ifr_name ifr__name
 #endif
 
-    strncpy(req.ifr_name, interface, sizeof(req.ifr_name));
+    strncpy(req.ifr_name, interface, IFNAMSIZ);
+    req.ifr_name[IFNAMSIZ - 1] = 0;
     if (ioctl(s, SIOCGPPPSTATS, &req) < 0) {
        fprintf(stderr, "%s: ", progname);
        if (errno == ENOTTY)
@@ -170,13 +170,14 @@ get_ppp_cstats(csp)
 
     memset (&creq, 0, sizeof (creq));
 
-#ifdef _linux_
+#ifdef __linux__
     creq.stats_ptr = (caddr_t) &creq.stats;
 #undef  ifr_name
 #define ifr_name ifr__name
 #endif
 
-    strncpy(creq.ifr_name, interface, sizeof(creq.ifr_name));
+    strncpy(creq.ifr_name, interface, IFNAMSIZ);
+    creq.ifr_name[IFNAMSIZ - 1] = 0;
     if (ioctl(s, SIOCGPPPCSTATS, &creq) < 0) {
        fprintf(stderr, "%s: ", progname);
        if (errno == ENOTTY) {
@@ -190,7 +191,7 @@ get_ppp_cstats(csp)
        }
     }
 
-#ifdef _linux_
+#ifdef __linux__
     if (creq.stats.c.bytes_out == 0) {
        creq.stats.c.bytes_out = creq.stats.c.comp_bytes + creq.stats.c.inc_bytes;
        creq.stats.c.in_count = creq.stats.c.unc_bytes;
@@ -449,6 +450,7 @@ main(argc, argv)
 {
     int c;
 #ifdef STREAMS
+    int unit;
     char *dev;
 #endif
 
@@ -506,11 +508,6 @@ main(argc, argv)
     if (argc > 0)
        interface = argv[0];
 
-    if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
-       fprintf(stderr, "%s: invalid interface '%s' specified\n",
-               progname, interface);
-    }
-
 #ifndef STREAMS
     {
        struct ifreq ifr;
@@ -522,11 +519,12 @@ main(argc, argv)
            exit(1);
        }
 
-#ifdef _linux_
+#ifdef __linux__
 #undef  ifr_name
 #define ifr_name ifr_ifrn.ifrn_name
 #endif
-       strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
+       strncpy(ifr.ifr_name, interface, IFNAMSIZ);
+       ifr.ifr_name[IFNAMSIZ - 1] = 0;
        if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) < 0) {
            fprintf(stderr, "%s: nonexistent interface '%s' specified\n",
                    progname, interface);
@@ -535,6 +533,11 @@ main(argc, argv)
     }
 
 #else  /* STREAMS */
+    if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
+       fprintf(stderr, "%s: invalid interface '%s' specified\n",
+               progname, interface);
+    }
+
 #ifdef __osf__
     dev = "/dev/streams/ppp";
 #else