From 2d698b6e42d8dca191ac795ef5dba3bf62496eec Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 9 Apr 2010 16:13:32 -0700 Subject: Integrate bash 3.2 version This is merge of current Debian stable (Lenny) version of Bash with Vyatta changes. --- builtins/declare.def | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'builtins/declare.def') diff --git a/builtins/declare.def b/builtins/declare.def index d94118f..4d94fac 100644 --- a/builtins/declare.def +++ b/builtins/declare.def @@ -76,6 +76,7 @@ $END #include "bashgetopt.h" extern int array_needs_making; +extern int posixly_correct; static int declare_internal __P((register WORD_LIST *, int)); @@ -256,8 +257,12 @@ declare_internal (list, local_var) else making_array_special = 0; #endif - - if (legal_identifier (name) == 0) + + /* If we're in posix mode or not looking for a shell function (since + shell function names don't have to be valid identifiers when the + shell's not in posix mode), check whether or not the argument is a + valid, well-formed shell identifier. */ + if ((posixly_correct || (flags_on & att_function) == 0) && legal_identifier (name) == 0) { sh_invalidid (name); assign_error++; -- cgit v1.2.3