mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Fix 'typeset -xu', 'typeset -xl' (rhbz#1188377)
'typeset -xu' and 'typeset -xl' would export the variable but fail
to change case in the value under certain conditions.
Original patch:
642af4d6/f/ksh-20120801-xufix.patch
This applies the patch essentially without change and adds a
regression test based on the reproducer provided in the RH bug.
Unfortunately there is no description of how the patch works and
it's a little obscure to me. As far as I can figure out, the cause
of the problem was that nv_newattr() erroneously processed a
nonexistent size option-argument such as what can be given to
options like typeset -F, e.g. typeset -F3 for 3 digits after the
dot. A nonexistent size argument is represented by the value of -1.
This commit is contained in:
parent
ba0b1bba2b
commit
fdb9781ebb
5 changed files with 27 additions and 2 deletions
|
|
@ -94,6 +94,7 @@ int b_readonly(int argc,char *argv[],Shbltin_t *context)
|
|||
memset((void*)&tdata,0,sizeof(tdata));
|
||||
tdata.sh = context->shp;
|
||||
tdata.aflag = '-';
|
||||
tdata.argnum = -1; /* tell nv_newattr() that we should not change size */
|
||||
while((flag = optget(argv,*command=='e'?sh_optexport:sh_optreadonly))) switch(flag)
|
||||
{
|
||||
case 'p':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue