diff options
author | Robert de Bath <rdebath@poboxes.com> | 1998-02-12 22:41:49 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:40:21 +0200 |
commit | 2f828530e36a02c5b4c534e42ab812370c2bf7d9 (patch) | |
tree | c26ea035d122f5374ed4c9ef39c6748742541ef5 /elksemu | |
parent | 48f0b3eb836162d41622cedc1eb5f5168168fb8e (diff) | |
download | dev86-2f828530e36a02c5b4c534e42ab812370c2bf7d9.tar.gz |
Import Dev86src-0.14.0.tar.gzv0.14.0
Diffstat (limited to 'elksemu')
-rw-r--r-- | elksemu/elks_sys.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/elksemu/elks_sys.c b/elksemu/elks_sys.c index 16a3cec..4b8187f 100644 --- a/elksemu/elks_sys.c +++ b/elksemu/elks_sys.c @@ -117,12 +117,14 @@ static int elks_read(int bx,int cx,int dx,int di,int si) #define sys_write elks_write static int elks_write(int bx,int cx,int dx,int di,int si) { +#ifdef TESTING if( dx > 1024 || dx < 0 ) { dx = 1024; dbprintf(("write(%d, %d, >%d)\n",bx,cx,dx)); } else +#endif { dbprintf(("write(%d, %d, %d)\n",bx,cx,dx)); } @@ -449,8 +451,8 @@ static int elks_execve(int bx,int cx,int dx,int di,int si) if( is_elks ) { argp[0]="/lib/elksemu"; - argp[1]=ELKS_PTR(char, bx); - ct=2; + /* argp[1]=ELKS_PTR(char, bx); */ + ct=1; } while(*bp) argp[ct++]=ELKS_PTR(char, cx+ *bp++); @@ -461,7 +463,10 @@ static int elks_execve(int bx,int cx,int dx,int di,int si) envp[ct++]=ELKS_PTR(char, cx+ *bp++); envp[ct]=0; if( is_elks ) + { + argp[1]=ELKS_PTR(char, bx); execve(argp[0],argp,envp); + } else execve(ELKS_PTR(char, bx),argp,envp); if( errno == ENOEXEC || errno == EACCES ) return -1; |