X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=flags.c;h=34924b9b412a4857994552d6696f60a1c221aad0;hb=cce855bc5b117cb7ae70064131120687bc69fac0;hp=02b466c0ad1e94e76e7f6c46e7f3713d06bf4d2c;hpb=e8ce775db824de329b81293b4e5d8fbd65624528;p=platform%2Fupstream%2Fbash.git diff --git a/flags.c b/flags.c index 02b466c..34924b9 100644 --- a/flags.c +++ b/flags.c @@ -209,8 +209,8 @@ find_flag (name) } /* Change the state of a flag, and return it's original value, or return - FLAG_ERROR if there is no flag called NAME. ON_OR_OFF should be one - of FLAG_ON or FLAG_OFF. */ + FLAG_ERROR if there is no flag FLAG. ON_OR_OFF must be either + FLAG_ON or FLAG_OFF. */ int change_flag (flag, on_or_off) int flag; @@ -226,17 +226,12 @@ change_flag (flag, on_or_off) return (FLAG_ERROR); #endif /* RESTRICTED_SHELL */ - if (value == (int *)FLAG_UNKNOWN) + if ((value == (int *)FLAG_UNKNOWN) || (on_or_off != FLAG_ON && on_or_off != FLAG_OFF)) return (FLAG_ERROR); old_value = *value; - if (on_or_off == FLAG_ON) - *value = 1; - else if (on_or_off == FLAG_OFF) - *value = 0; - else - return (FLAG_ERROR); + *value = (on_or_off == FLAG_ON) ? 1 : 0; /* Special cases for a few flags. */ switch (flag)