Dr. Werner Fink 2012-10-19 15:22:56 +00:00 committed by Git OBS Bridge
parent 01ccc63b32
commit 8f37f5f00b
3 changed files with 38 additions and 0 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Oct 19 15:06:50 UTC 2012 - werner@suse.de
- Be able to export justified and zerofilled variables (bnc#785360)
- This requires that variables with this attributes should be really
cleared if unset
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 17 09:22:34 UTC 2012 - werner@suse.de Wed Oct 17 09:22:34 UTC 2012 - werner@suse.de

View File

@ -111,6 +111,7 @@ Patch25: ksh93-vmleak.dif
Patch26: ksh93-read-dont-ignore-esc.dif Patch26: ksh93-read-dont-ignore-esc.dif
Patch27: astksh_builtin_poll20120806_001.diff Patch27: astksh_builtin_poll20120806_001.diff
Patch28: ksh93-env.dif Patch28: ksh93-env.dif
Patch29: ksh93-zerofill.dif
Patch42: ksh-locale.patch Patch42: ksh-locale.patch
%description %description
@ -195,6 +196,7 @@ fi
%patch26 %patch26
%patch27 %patch27
%patch28 %patch28
%patch29
%build %build
# #

29
ksh93-zerofill.dif Normal file
View File

@ -0,0 +1,29 @@
--- src/cmd/ksh93/bltins/typeset.c
+++ src/cmd/ksh93/bltins/typeset.c 2012-10-19 16:56:48.561818559 +0200
@@ -746,6 +746,7 @@
}
if (tp->aflag == '-')
{
+ int oldnum;
if((flag&NV_EXPORT) && (strchr(name,'.') || nv_isvtree(np)))
errormsg(SH_DICT,ERROR_exit(1),e_badexport,name);
#if SHOPT_BSH
@@ -764,6 +765,9 @@
else if(!(flag&NV_LJUST))
newflag &= ~NV_LJUST;
}
+ oldnum = nv_size(np);
+ if (oldnum > 0)
+ tp->argnum = oldnum;
}
else
{
@@ -1222,7 +1226,7 @@
if(shp->subshell)
np=sh_assignok(np,0);
}
- if(!nv_isnull(np))
+ if(!nv_isnull(np) || nv_size(np) || nv_isattr(np,~(NV_MINIMAL|NV_NOFREE)))
_nv_unset(np,0);
if(troot==shp->var_tree && shp->st.real_fun && (dp=shp->var_tree->walk) && dp==shp->st.real_fun->sdict)
nv_delete(np,dp,NV_NOFREE);