X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Foptions.c;h=3779b289419ca491fb8baeedb26d07053ec5a367;hb=1b4bb33c1093a6e687fededdc8881520dc38ac14;hp=689bde6c64c661e95071523d4c82237856a09f78;hpb=37a8acc7ee2527693d0c8ba82b2eaea249abde34;p=ppp.git diff --git a/pppd/options.c b/pppd/options.c index 689bde6..3779b28 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.79 2001/03/08 05:11:15 paulus Exp $" +#define RCSID "$Id: options.c,v 1.82 2002/03/01 14:39:18 dfs Exp $" #include #include @@ -497,6 +497,7 @@ options_from_list(w, priv) } if (!process_option(opt, w0->word, argv)) goto err; + w = w->next; } ret = 1; @@ -622,6 +623,12 @@ 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; + if (opt->addr3 && (opt->flags & OPT_A3OR)) + *(u_char *)(opt->addr3) |= v; break; case o_int: @@ -815,8 +822,9 @@ print_option(opt, mainopt, printer, arg) case o_bool: v = opt->flags & OPT_VALUE; if (*(bool *)opt->addr != v) - printer(arg, "oops, %s value is %d not %d?\n", - opt->name, *(bool *)opt->addr, v); + /* this can happen legitimately, e.g. lock + option turned off for default device */ + break; printer(arg, "%s", opt->name); break; case o_int: @@ -929,6 +937,7 @@ print_options(printer, arg) struct option_list *list; int i; + printer(arg, "pppd options in effect:\n"); print_option_list(general_options, printer, arg); print_option_list(auth_options, printer, arg); for (list = extra_options; list != NULL; list = list->next) @@ -1493,7 +1502,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);