diff options
author | Robert de Bath <rdebath@poboxes.com> | 1997-05-09 19:36:29 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:39:48 +0200 |
commit | e63c244cb22bf48ca1d2695784a072269d19ea96 (patch) | |
tree | 45b9018259f43db629b27395783cf48e55a85eee /elksemu | |
parent | 4c36e9a0c125ccfff37aa440dab2cf58c4152fff (diff) | |
download | dev86-e63c244cb22bf48ca1d2695784a072269d19ea96.tar.gz |
Import Dev86src-0.12.0.tar.gzv0.12.0
Diffstat (limited to 'elksemu')
-rw-r--r-- | elksemu/Makefile | 3 | ||||
-rw-r--r-- | elksemu/elks.c | 2 | ||||
-rw-r--r-- | elksemu/elks_sys.c | 11 |
3 files changed, 14 insertions, 2 deletions
diff --git a/elksemu/Makefile b/elksemu/Makefile index 5964353..2de8673 100644 --- a/elksemu/Makefile +++ b/elksemu/Makefile @@ -10,6 +10,9 @@ else CFLAGS=-O2 -fno-strength-reduce -Wall -idirafter . $(DEFS) endif +# Turn on elkemu's strace like facility. +# DEFS=-DDEBUG + # For gcc making a.out with a basically ELF compiler # CFLAGS=-O2 -fno-strength-reduce -b i486-linuxaout -N -s -static diff --git a/elksemu/elks.c b/elksemu/elks.c index 2c58f8e..c31e94f 100644 --- a/elksemu/elks.c +++ b/elksemu/elks.c @@ -234,7 +234,7 @@ void main(int argc, char *argv[], char *envp[]) setregid(rgid, egid); setreuid(ruid, euid); - dbprintf(("ELKSEMU 0.0.6 Alpha\n")); + dbprintf(("ELKSEMU 0.12.0\n")); elks_init(); /* The Linux vm will deal with not allocating the unused pages */ diff --git a/elksemu/elks_sys.c b/elksemu/elks_sys.c index 74afbf9..4cc4368 100644 --- a/elksemu/elks_sys.c +++ b/elksemu/elks_sys.c @@ -110,13 +110,22 @@ static int elks_read(int bx,int cx,int dx,int di,int si) bx,cx,dx)); if( bx >= 10000 && bx < 10000+DIRCOUNT) return elks_readdir(bx, cx, dx); + if( dx < 0 || dx > 1024 ) dx = 1024; return read(bx, ELKS_PTR(void, cx), dx); } #define sys_write elks_write static int elks_write(int bx,int cx,int dx,int di,int si) { - dbprintf(("write(%d, %d, %d)\n",bx,cx,dx)); + if( dx > 1024 || dx < 0 ) + { + dx = 1024; + dbprintf(("write(%d, %d, >%d)\n",bx,cx,dx)); + } + else + { + dbprintf(("write(%d, %d, %d)\n",bx,cx,dx)); + } return write(bx,ELKS_PTR(void, cx),dx); } |