aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2022-03-21 10:33:38 -0800
committerDavid M. Syzdek <david@syzdek.net>2022-03-21 10:34:17 -0800
commit0535b2e475f687ab378007b61d602d4f75c76bc3 (patch)
treeae6ed54b83aa65b93a0f2268931adac3b9207410
parent306c35084c0a71466ada96f878a335e5edac0cbb (diff)
downloadtinyrad-0535b2e475f687ab378007b61d602d4f75c76bc3.tar.gz
tinyrad-0535b2e475f687ab378007b61d602d4f75c76bc3.tar.bz2
tinyrad-0535b2e475f687ab378007b61d602d4f75c76bc3.tar.xz
tinyrad-0535b2e475f687ab378007b61d602d4f75c76bc3.zip
libtinyrad: refactoring tinyrad_conf_opt_bool()
-rw-r--r--lib/libtinyrad/lconf.c40
1 files changed, 19 insertions, 21 deletions
diff --git a/lib/libtinyrad/lconf.c b/lib/libtinyrad/lconf.c
index 3f9d2fb..29cda90 100644
--- a/lib/libtinyrad/lconf.c
+++ b/lib/libtinyrad/lconf.c
@@ -407,34 +407,32 @@ tinyrad_conf_opt_bool(
407 if ( (!(tr)) && (!(dict)) ) 407 if ( (!(tr)) && (!(dict)) )
408 return(TRAD_SUCCESS); 408 return(TRAD_SUCCESS);
409 409
410 if (!(value)) 410 if (!(value)) boolean = TRAD_YES;
411 boolean = TRAD_YES; 411 else if (!(strcasecmp(value, "1"))) boolean = TRAD_YES;
412 else if (!(strcasecmp(value, "yes"))) 412 else if (!(strcasecmp(value, "true"))) boolean = TRAD_YES;
413 boolean = TRAD_YES; 413 else if (!(strcasecmp(value, "yes"))) boolean = TRAD_YES;
414 else if (!(strcasecmp(value, "no"))) 414 else if (!(strcasecmp(value, "0"))) boolean = TRAD_NO;
415 boolean = TRAD_NO; 415 else if (!(strcasecmp(value, "false"))) boolean = TRAD_NO;
416 else 416 else if (!(strcasecmp(value, "no"))) boolean = TRAD_NO;
417 return(TRAD_SUCCESS); 417 else return(TRAD_SUCCESS);
418 418
419 if ((dict)) 419 if ( ((dict)) && ( ((dict->opts | dict->opts_neg) & opt) != 0) )
420 { 420 {
421 if ( ((dict->opts | dict->opts_neg) & opt) != 0) 421 switch(boolean)
422 { 422 {
423 if (boolean == TRAD_YES) 423 case TRAD_YES: dict->opts |= opt; break;
424 dict->opts |= opt; 424 case TRAD_NO: dict->opts_neg |= opt; break;
425 if (boolean == TRAD_NO) 425 default: break;
426 dict->opts_neg |= opt;
427 }; 426 };
428 }; 427 };
429 428
430 if ((tr)) 429 if ( ((tr)) && ( ((tr->opts | tr->opts_neg) & opt) != 0) )
431 { 430 {
432 if ( ((tr->opts | tr->opts_neg) & opt) != 0) 431 switch(boolean)
433 { 432 {
434 if (boolean == TRAD_YES) 433 case TRAD_YES: tr->opts |= opt; break;
435 tr->opts |= opt; 434 case TRAD_NO: tr->opts_neg |= opt; break;
436 if (boolean == TRAD_NO) 435 default: break;
437 tr->opts_neg |= opt;
438 }; 436 };
439 }; 437 };
440 438