X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Foptions.c;h=b20f075ce885095c42c70144a5ee2af965ec74f1;hb=05c09ae62d0b4ff67fb26c37a01e6a07bb593c0c;hp=acba28965b1032917aecad3a5fd2c3f1351b55ed;hpb=e3c0701e749ed95edbe2797140d18af66aee0490;p=ppp.git diff --git a/pppd/options.c b/pppd/options.c index acba289..b20f075 100644 --- a/pppd/options.c +++ b/pppd/options.c @@ -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 #include @@ -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);