]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/options.c
Corrected Linux MPPE kernel modules (Frank Cusack)
[ppp.git] / pppd / options.c
index acba28965b1032917aecad3a5fd2c3f1351b55ed..b20f075ce885095c42c70144a5ee2af965ec74f1 100644 (file)
@@ -17,7 +17,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#define RCSID  "$Id: options.c,v 1.80 2001/03/12 22:56:12 paulus Exp $"
+#define RCSID  "$Id: options.c,v 1.83 2002/04/02 13:54:59 dfs Exp $"
 
 #include <ctype.h>
 #include <stdio.h>
@@ -623,6 +623,14 @@ process_option(opt, cmd, argv)
        *(bool *)(opt->addr) = v;
        if (opt->addr2 && (opt->flags & OPT_A2COPY))
            *(bool *)(opt->addr2) = v;
+       else if (opt->addr2 && (opt->flags & OPT_A2CLR))
+           *(bool *)(opt->addr2) = 0;
+       else if (opt->addr2 && (opt->flags & OPT_A2CLRB))
+           *(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:
@@ -724,7 +732,7 @@ process_option(opt, cmd, argv)
     }
 
     if (opt->addr2 && (opt->flags & (OPT_A2COPY|OPT_ENABLE
-               |OPT_A2PRINTER|OPT_A2STRVAL|OPT_A2LIST)) == 0)
+               |OPT_A2PRINTER|OPT_A2STRVAL|OPT_A2LIST|OPT_A2OR)) == 0)
        *(bool *)(opt->addr2) = !(opt->flags & OPT_A2CLR);
 
     mainopt->source = option_source;
@@ -1496,7 +1504,7 @@ loadplugin(argv)
        warn("Warning: plugin %s has no version information", arg);
     } else if (strcmp(vers, VERSION) != 0) {
        option_error("Plugin %s is for pppd version %s, this is %s",
-                    vers, VERSION);
+                    arg, vers, VERSION);
        goto errclose;
     }
     info("Plugin %s loaded.", arg);