summaryrefslogtreecommitdiff
path: root/elksemu/elks_sys.c
diff options
context:
space:
mode:
authorRobert de Bath <rdebath@poboxes.com>1997-05-09 19:36:29 +0200
committerLubomir Rintel <lkundrak@v3.sk>2013-10-23 23:39:48 +0200
commite63c244cb22bf48ca1d2695784a072269d19ea96 (patch)
tree45b9018259f43db629b27395783cf48e55a85eee /elksemu/elks_sys.c
parent4c36e9a0c125ccfff37aa440dab2cf58c4152fff (diff)
downloaddev86-e63c244cb22bf48ca1d2695784a072269d19ea96.tar.gz
Import Dev86src-0.12.0.tar.gzv0.12.0
Diffstat (limited to 'elksemu/elks_sys.c')
-rw-r--r--elksemu/elks_sys.c11
1 files changed, 10 insertions, 1 deletions
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);
}