]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/options.c
Set current_option for error reporting. Bug and fix by Clive Nicolson.
[ppp.git] / pppd / options.c
index d17df58709e70afe15af92156521603b8fbdebcc..1e31ed5eba41e7bbf0a5c718b881667cba8758c2 100644 (file)
@@ -17,7 +17,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#define RCSID  "$Id: options.c,v 1.86 2002/09/07 05:15:25 carlsonj Exp $"
+#define RCSID  "$Id: options.c,v 1.89 2002/10/27 13:00:13 fcusack Exp $"
 
 #include <ctype.h>
 #include <stdio.h>
@@ -602,6 +602,7 @@ process_option(opt, cmd, argv)
     int prio = option_priority;
     option_t *mainopt = opt;
 
+    current_option = opt->name;
     if ((opt->flags & OPT_PRIVFIX) && privileged_option)
        prio += OPRIO_ROOT;
     while (mainopt->flags & OPT_PRIOSUB)
@@ -653,8 +654,6 @@ process_option(opt, cmd, argv)
            *(u_char *)(opt->addr2) &= ~v;
        else if (opt->addr2 && (opt->flags & OPT_A2OR))
            *(u_char *)(opt->addr2) |= v;
-       if (opt->addr3 && (opt->flags & OPT_A3OR))
-           *(u_char *)(opt->addr3) |= v;
        break;
 
     case o_int:
@@ -677,7 +676,7 @@ process_option(opt, cmd, argv)
                    break;
                case OPT_LIMITS:
                    option_error("%s value must be%s between %d and %d",
-                               opt->name, opt->lower_limit, opt->upper_limit);
+                               opt->name, zok, opt->lower_limit, opt->upper_limit);
                    break;
                }
                return 0;