summaryrefslogtreecommitdiffstats
path: root/source/ap/ksh93/patches/ksh-20140929-safefd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/ksh93/patches/ksh-20140929-safefd.patch')
-rw-r--r--source/ap/ksh93/patches/ksh-20140929-safefd.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/source/ap/ksh93/patches/ksh-20140929-safefd.patch b/source/ap/ksh93/patches/ksh-20140929-safefd.patch
deleted file mode 100644
index 80db20528..000000000
--- a/source/ap/ksh93/patches/ksh-20140929-safefd.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -up ksh-20120801/src/cmd/ksh93/include/io.h.safefd ksh-20120801/src/cmd/ksh93/include/io.h
---- ksh-20120801/src/cmd/ksh93/include/io.h.safefd 2015-03-03 18:21:40.544732158 +0100
-+++ ksh-20120801/src/cmd/ksh93/include/io.h 2015-03-03 18:22:16.284447849 +0100
-@@ -78,6 +78,7 @@ extern void sh_iorestore(Shell_t*,int,i
- extern Sfio_t *sh_iostream(Shell_t*,int);
- extern int sh_redirect(Shell_t*,struct ionod*,int);
- extern void sh_iosave(Shell_t *, int,int,char*);
-+extern int safefdnumber(Shell_t* shp, int sfd);
- extern int sh_iovalidfd(Shell_t*, int);
- extern int sh_inuse(Shell_t*, int);
- extern void sh_iounsave(Shell_t*);
-diff -up ksh-20120801/src/cmd/ksh93/sh/io.c.safefd ksh-20120801/src/cmd/ksh93/sh/io.c
---- ksh-20120801/src/cmd/ksh93/sh/io.c.safefd 2015-03-03 18:21:40.511732421 +0100
-+++ ksh-20120801/src/cmd/ksh93/sh/io.c 2015-03-03 18:21:40.544732158 +0100
-@@ -1724,6 +1724,25 @@ void sh_iosave(Shell_t *shp, register in
- }
- }
-
-+int safefdnumber(Shell_t* shp, int sfd)
-+{
-+ register int fd;
-+
-+ while(1)
-+ {
-+ for(fd=0; fd < shp->topfd; fd++)
-+ {
-+ if (filemap[fd].save_fd==sfd || filemap[fd].orig_fd==sfd || (fcntl(sfd, F_GETFD) != -1 || errno != EBADF))
-+ {
-+ sfd++;
-+ continue;
-+ }
-+ }
-+ break;
-+ }
-+ return sfd;
-+}
-+
- /*
- * close all saved file descriptors
- */
-diff -up ksh-20120801/src/cmd/ksh93/sh/subshell.c.safefd ksh-20120801/src/cmd/ksh93/sh/subshell.c
---- ksh-20120801/src/cmd/ksh93/sh/subshell.c.safefd 2015-03-03 18:21:40.531732261 +0100
-+++ ksh-20120801/src/cmd/ksh93/sh/subshell.c 2015-03-03 18:21:40.544732158 +0100
-@@ -673,7 +673,7 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
- }
- if(iop && sffileno(iop)==1)
- {
-- int fd=sfsetfd(iop,3);
-+ int fd=sfsetfd(iop,safefdnumber(shp,3));
- if(fd<0)
- {
- shp->toomany = 1;