X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=builtins%2Flet.def;h=b7479623475f90d9806a1971004266e55185cc62;hb=d166f048818e10cf3799aa24a174fb22835f1acc;hp=60b66751301dcf42a5791311107cf5b8e021b6c0;hpb=ccc6cda312fea9f0468ee65b8f368e9653e1380b;p=platform%2Fupstream%2Fbash.git diff --git a/builtins/let.def b/builtins/let.def index 60b6675..b747962 100644 --- a/builtins/let.def +++ b/builtins/let.def @@ -75,6 +75,7 @@ let_builtin (list) WORD_LIST *list; { long ret; + int expok; if (list == 0) { @@ -83,17 +84,22 @@ let_builtin (list) } for (; list; list = list->next) - ret = evalexp (list->word->word); + { + ret = evalexp (list->word->word, &expok); + if (expok == 0) + return (EXECUTION_FAILURE); + } return ((ret == 0L) ? EXECUTION_FAILURE : EXECUTION_SUCCESS); } +#ifdef INCLUDE_UNUSED int exp_builtin (list) WORD_LIST *list; { char *exp; - int ret; + int ret, expok; if (list == 0) { @@ -102,7 +108,8 @@ exp_builtin (list) } exp = string_list (list); - ret = evalexp (exp); - free (exp); - return ((ret == 0L) ? EXECUTION_FAILURE : EXECUTION_SUCCESS); + ret = evalexp (exp, &expok); + (void)free (exp); + return (((ret == 0L) || (expok == 0)) ? EXECUTION_FAILURE : EXECUTION_SUCCESS); } +#endif