hush: forgot to emit error on (failing) second "readonly VAR=VAL"

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2017-07-17 21:31:17 +02:00
parent b95ee96e75
commit 6b48e1f121

View File

@ -2074,6 +2074,7 @@ static int set_local_var(char *str,
char *eq_sign; char *eq_sign;
int name_len; int name_len;
//bb_error_msg("set_local_var('%s',%d,%d,%d)", str, flg_export, local_lvl, flg_read_only);
eq_sign = strchr(str, '='); eq_sign = strchr(str, '=');
if (!eq_sign) { /* not expected to ever happen? */ if (!eq_sign) { /* not expected to ever happen? */
free(str); free(str);
@ -2090,8 +2091,7 @@ static int set_local_var(char *str,
/* We found an existing var with this name */ /* We found an existing var with this name */
if (cur->flg_read_only) { if (cur->flg_read_only) {
if (!flg_read_only) bb_error_msg("%s: readonly variable", str);
bb_error_msg("%s: readonly variable", str);
free(str); free(str);
return -1; return -1;
} }
@ -9459,7 +9459,6 @@ static int FAST_FUNC builtin_readonly(char **argv)
} }
#endif #endif
#if ENABLE_HUSH_UNSET #if ENABLE_HUSH_UNSET
/* http://www.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#unset */ /* http://www.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#unset */
static int FAST_FUNC builtin_unset(char **argv) static int FAST_FUNC builtin_unset(char **argv)