From 4c4cff250367e9c1d51ad69ab114876dc954ad2c6caf3d327d1da9fcf7b36f49 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Wed, 6 Jun 2012 12:18:05 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=118 --- ksh.changes | 5 +++++ ksh.spec | 2 ++ ksh93-read-dont-ignore-esc.dif | 25 +++++++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 ksh93-read-dont-ignore-esc.dif diff --git a/ksh.changes b/ksh.changes index 01c5cee..588e647 100644 --- a/ksh.changes +++ b/ksh.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jun 6 12:16:52 UTC 2012 - werner@suse.de + +- Do not ignore backslashes/escapes for read builtin (bnc#765171) + ------------------------------------------------------------------- Wed May 23 10:33:09 UTC 2012 - werner@suse.de diff --git a/ksh.spec b/ksh.spec index f765399..fb3760d 100644 --- a/ksh.spec +++ b/ksh.spec @@ -108,6 +108,7 @@ Patch22: ksh93-limit-name-len.dif Patch23: ksh93-foreground-prgrp.dif Patch24: ksh93-builtin.dif Patch25: ksh93-vmleak.dif +Patch26: ksh93-read-dont-ignore-esc.dif Patch42: ksh-locale.patch %description @@ -189,6 +190,7 @@ fi %patch23 %patch24 %patch25 +%patch26 %build # diff --git a/ksh93-read-dont-ignore-esc.dif b/ksh93-read-dont-ignore-esc.dif new file mode 100644 index 0000000..17a19a4 --- /dev/null +++ b/ksh93-read-dont-ignore-esc.dif @@ -0,0 +1,25 @@ +--- src/cmd/ksh93/bltins/read.c ++++ src/cmd/ksh93/bltins/read.c 2012-06-04 09:58:53.848644056 +0200 +@@ -570,7 +570,13 @@ int sh_readline(register Shell_t *shp,ch + case S_QUOTE: + c = shp->ifstable[*cp++]; + inquote = !inquote; +- goto skip; ++ if(val) ++ { ++ stakputs(val); ++ use_stak = 1; ++ *val = 0; ++ } ++ continue; + case S_ESC: + /* process escape character */ + if((c = shp->ifstable[*cp++]) == S_NL) +@@ -582,6 +588,7 @@ int sh_readline(register Shell_t *shp,ch + { + stakputs(val); + use_stak = 1; ++ was_escape = 1; + *val = 0; + } + continue;