--- pppd.h.dist	Wed Nov 22 05:48:54 1995
+++ pppd.h	Tue May  6 15:26:34 1997
@@ -60,6 +60,7 @@
  */
 
 extern int	debug;		/* Debug flag */
+extern int	lessdebug;	/* Less debugging flag */
 extern int	kdebugflag;	/* Tell kernel to print debug messages */
 extern int	default_device;	/* Using /dev/tty or equivalent */
 extern char	devnam[];	/* Device name */
--- main.c.dist	Mon Nov 20 22:53:48 1995
+++ main.c	Tue May  6 15:42:43 1997
@@ -226,6 +226,13 @@
     magic_init();
 
     /*
+     * Check for lessdebug. Obviously the worst place to put this but I
+     * don't know where else it would go.
+     */
+
+    less_debug();
+
+    /*
      * Detach ourselves from the terminal, if required,
      * and identify who is running us.
      */
--- options.c.dist	Thu Nov 23 16:00:35 1995
+++ options.c	Tue May  6 15:34:37 1997
@@ -73,6 +73,7 @@
 #endif /* IPX_CHANGE */
 
 int	debug = 0;		/* Debug flag */
+int	lessdebug = 0;		/* Less debugging flag */
 int	kdebugflag = 0;		/* Tell kernel to print debug messages */
 int	default_device = 1;	/* Using /dev/tty or equivalent */
 char	devnam[MAXPATHLEN] = "/dev/tty";	/* Device name */
@@ -109,6 +110,7 @@
  * Prototypes
  */
 static int setdebug __P((void));
+static int setlessdebug __P((void));
 static int setkdebug __P((char **));
 static int setpassive __P((void));
 static int setsilent __P((void));
@@ -221,6 +223,7 @@
     {"-am", 0, noasyncmap},	/* Disable asyncmap negotiation */
     {"-as", 1, setasyncmap},	/* set the desired async map */
     {"-d", 0, setdebug},	/* Increase debugging level */
+    {"-ld", 0, setlessdebug},	/* Decrease debugging level */
     {"-detach", 0, setnodetach}, /* don't fork */
     {"-ip", 0, noipaddr},	/* Disable IP address negotiation */
     {"-mn", 0, nomagicnumber},	/* Disable magic number negotiation */
@@ -243,6 +246,7 @@
     {"-crtscts", 0, setnocrtscts}, /* clear h/w flow control */
     {"xonxoff", 0, setxonxoff},	/* set s/w flow control */
     {"debug", 0, setdebug},	/* Increase debugging level */
+    {"lessdebug", 0, setlessdebug},	/* Decrease debugging level */
     {"kdebug", 1, setkdebug},	/* Enable kernel-level debugging */
     {"domain", 1, setdomain},	/* Add given domain name to hostname*/
     {"mru", 1, setmru},		/* Set MRU value for negotiation */
@@ -870,6 +874,17 @@
 setdebug()
 {
     debug++;
+    return (1);
+}
+
+/*
+ * setlessdebug - Set less debug (command line argument).
+ */
+
+static int
+setlessdebug()
+{
+    lessdebug = 1;
     return (1);
 }
 
--- sys-linux.c.dist	Fri Apr 12 22:02:53 1996
+++ sys-linux.c	Tue May  6 15:45:05 1997
@@ -165,6 +165,18 @@
   }
 
 /*
+ * less_debug - don't print as many debug messages.
+ */
+
+void less_debug (void)
+  {
+    if (lessdebug)
+      {
+        setlogmask(LOG_UPTO(LOG_ERR));
+      }
+  }
+
+/*
  * note_debug_level - note a change in the debug level.
  */
 
