Fixed bugs with regards to using other device names than "ppp", use
[ppp.git] / pppstats / pppstats.c
index d5f74b9911a8b2c133d2bcec4842147583ea3f31..a0d3d7f5b6d00f6968ff5c5d9f99b25d5ba43a0d 100644 (file)
@@ -36,7 +36,7 @@
 #endif
 
 #ifndef lint
-static const char rcsid[] = "$Id: pppstats.c,v 1.27 1999/08/13 06:46:23 paulus Exp $";
+static const char rcsid[] = "$Id: pppstats.c,v 1.28 2000/04/24 02:54:18 masputra Exp $";
 #endif
 
 #include <stdio.h>
@@ -99,6 +99,14 @@ extern int optind;
 extern char *optarg;
 #endif
 
+/*
+ * If PPP_DRV_NAME is not defined, use the legacy "ppp" as the
+ * device name.
+ */
+#if !defined(PPP_DRV_NAME)
+#define PPP_DRV_NAME    "ppp"
+#endif /* !defined(PPP_DRV_NAME) */
+
 static void usage __P((void));
 static void catchalarm __P((int));
 static void get_ppp_stats __P((struct ppp_stats *));
@@ -444,7 +452,7 @@ main(argc, argv)
     char *dev;
 #endif
 
-    interface = "ppp0";
+    interface = PPP_DRV_NAME "0";
     if ((progname = strrchr(argv[0], '/')) == NULL)
        progname = argv[0];
     else
@@ -498,7 +506,7 @@ main(argc, argv)
     if (argc > 0)
        interface = argv[0];
 
-    if (sscanf(interface, "ppp%d", &unit) != 1) {
+    if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
        fprintf(stderr, "%s: invalid interface '%s' specified\n",
                progname, interface);
     }
@@ -530,7 +538,7 @@ main(argc, argv)
 #ifdef __osf__
     dev = "/dev/streams/ppp";
 #else
-    dev = "/dev/ppp";
+    dev = "/dev/" PPP_DRV_NAME;
 #endif
     if ((s = open(dev, O_RDONLY)) < 0) {
        fprintf(stderr, "%s: couldn't open ", progname);