From 42805f1cc8dc220105a72dc6ab21449d1455d07ac4886e3440f681c05dd56b16 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Fri, 18 Oct 2013 14:18:08 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=175 --- ksh93-sfio.dif | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ksh93-sfio.dif b/ksh93-sfio.dif index 8b8a030..4cdba10 100644 --- a/ksh93-sfio.dif +++ b/ksh93-sfio.dif @@ -134,3 +134,39 @@ if (!*t || isspace(*v) || *v == ',' || *v == '=') break; if (*v == ':' && *(v + 1) == '=') +--- src/lib/libast/vmalloc/vmopen.c ++++ src/lib/libast/vmalloc/vmopen.c 2013-10-18 13:54:50.918235639 +0000 +@@ -68,19 +68,22 @@ int mode; /* type of region */ + Block_t *bp, *np; + Seg_t *seg; + Vmuchar_t *addr; +- int rv; ++ int rv, mt; + + if(!meth || !disc || !disc->memoryf ) + return NIL(Vmalloc_t*); + + GETPAGESIZE(_Vmpagesize); + ++ mode = (mode&VM_FLAGS) | meth->meth; /* start with user-settable flags */ ++ + vmp = &vmproto; /* avoid memory allocation here! */ + memset(vmp, 0, sizeof(Vmalloc_t)); + memcpy(&vmp->meth, meth, sizeof(Vmethod_t)); ++ mt = vmp->meth.meth; ++ vmp->meth.meth = 0; + vmp->disc = disc; + +- mode &= VM_FLAGS; /* start with user-settable flags */ + size = 0; + + if(disc->exceptf) +@@ -155,6 +158,8 @@ int mode; /* type of region */ + seg->free = bp; + else vd->wild = bp; + ++ vmp->meth.meth = mt; ++ + done: /* now make the region handle */ + if(vd->mode&VM_MEMORYF) + vm = &init->vm.vm;