OBS User unknown 2008-05-05 23:33:47 +00:00 committed by Git OBS Bridge
parent a444951d99
commit 1285f22b6a
3 changed files with 30 additions and 10 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon May 5 13:23:13 CEST 2008 - werner@suse.de
- Fix patch for option handling of echo builtin (bnc#385986)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 25 12:22:48 CET 2008 - werner@suse.de Tue Mar 25 12:22:48 CET 2008 - werner@suse.de

View File

@ -22,7 +22,7 @@ Group: System/Shells
PreReq: /bin/ln /bin/rm /etc/bash.bashrc /bin/true PreReq: /bin/ln /bin/rm /etc/bash.bashrc /bin/true
AutoReqProv: on AutoReqProv: on
Version: 93s Version: 93s
Release: 98 Release: 107
Summary: Korn Shell Summary: Korn Shell
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: INIT.2008-02-02.tar.bz2 Source: INIT.2008-02-02.tar.bz2
@ -59,6 +59,7 @@ Authors:
Phong Vo <kpv@research.att.com> Phong Vo <kpv@research.att.com>
%package -n ksh-devel %package -n ksh-devel
License: Common Public License Version 1.0 (CPL1.0)
Summary: Korn Shell development environment Summary: Korn Shell development environment
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: ksh = %{version}-%{release} Requires: ksh = %{version}-%{release}
@ -319,6 +320,8 @@ fi
%{_includedir}/ast/ %{_includedir}/ast/
%changelog %changelog
* Mon May 05 2008 werner@suse.de
- Fix patch for option handling of echo builtin (bnc#385986)
* Tue Mar 25 2008 werner@suse.de * Tue Mar 25 2008 werner@suse.de
- Add missing link to file list - Add missing link to file list
* Mon Mar 17 2008 werner@suse.de * Mon Mar 17 2008 werner@suse.de

View File

@ -1,5 +1,5 @@
--- src/cmd/ksh93/bltins/print.c --- src/cmd/ksh93/bltins/print.c
+++ src/cmd/ksh93/bltins/print.c 2007-12-20 19:01:26.144481714 +0100 +++ src/cmd/ksh93/bltins/print.c 2008-05-05 11:20:21.000000000 +0000
@@ -103,7 +103,11 @@ static int outexceptf(Sfio_t* iop, int m @@ -103,7 +103,11 @@ static int outexceptf(Sfio_t* iop, int m
{ {
static char bsd_univ; static char bsd_univ;
@ -13,41 +13,53 @@
prdata.raw = prdata.echon = 0; prdata.raw = prdata.echon = 0;
prdata.sh = (Shell_t*)extra; prdata.sh = (Shell_t*)extra;
NOT_USED(argc); NOT_USED(argc);
@@ -116,7 +120,40 @@ static int outexceptf(Sfio_t* iop, int m @@ -116,7 +120,52 @@ static int outexceptf(Sfio_t* iop, int m
prdata.sh->universe = 1; prdata.sh->universe = 1;
} }
if(!bsd_univ) if(!bsd_univ)
+ { + {
+# if defined(__linux__) +# if defined(__linux__)
+ char *opt = argv[1]; + char *opt = argv[1];
+ while ((opt = argv[1]) && (*opt++ == '-')) + while ((opt = argv[1]) && (*opt == '-'))
+ { + {
+ int c, inc = 0; + int c;
+
+ opt++;
+
+ for (c = 0; opt[c]; c++)
+# if !SHOPT_ECHOE
+ if (strchr("neE", opt[c]) == 0)
+# else
+ if (strchr("n", opt[c]) == 0)
+# endif /* SHOPT_ECHOE */
+ break;
+
+ if (*opt == 0 || opt[c])
+ break;
+
+ while ((c = *opt++)) + while ((c = *opt++))
+ { + {
+ switch (c) { + switch (c) {
+ case 'n': + case 'n':
+ prdata.echon = 1; + prdata.echon = 1;
+ inc++;
+ break; + break;
+# if !SHOPT_ECHOE +# if !SHOPT_ECHOE
+ case 'e': + case 'e':
+ prdata.raw = 0; + prdata.raw = 0;
+ inc++;
+ break; + break;
+ case 'E': + case 'E':
+ prdata.raw = 1; + prdata.raw = 1;
+ inc++;
+ break; + break;
+# endif /* SHOPT_ECHOE */ +# endif /* SHOPT_ECHOE */
+ default: + default:
+ goto out;
+ break; + break;
+ } + }
+ } + }
+ if (!inc) +
+ break;
+ argv++; + argv++;
+ } + }
+ out:
+# endif +# endif
return(b_print(0,argv,&prdata)); return(b_print(0,argv,&prdata));
+ } + }