wok-current diff linld/stuff/src/CRTL.ASM @ rev 21754

Up firefox-official (67.0.3), tinyproxy (1.10.0)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jun 19 17:26:14 2019 +0200 (2019-06-19)
parents f9e283da869a
children 2373992ff751
line diff
     1.1 --- a/linld/stuff/src/CRTL.ASM	Fri Jun 14 17:17:16 2019 +0200
     1.2 +++ b/linld/stuff/src/CRTL.ASM	Wed Jun 19 17:26:14 2019 +0200
     1.3 @@ -34,23 +34,27 @@
     1.4  		ifdef EXTRA
     1.5  ;typedef unsigned dirsizetype;
     1.6  struc		isostate		; struct isostate {
     1.7 -fd		dw	?		; 0	int fd;
     1.8 -filemod		dw	?		; 2	unsigned short filemod;
     1.9 -fileofs		dd	?		; 4	unsigned long fileofs;
    1.10 -filesize	dd	?		; 8	unsigned long filesize;
    1.11 -filename	dw	?		;12	char *filename;
    1.12 -curdirsize	dw	?		;14	dirsizetype curdirsize;
    1.13 -dirsize		dw	?		;16	dirsizetype dirsize;
    1.14 -curdirofs	dd	?		;18	unsigned long curdirofs;
    1.15 -dirofs		dd	?		;22	unsigned long dirofs;
    1.16 -curpos		dw	?		;26	unsigned curpos;
    1.17 -filename2open	dw	?		;28	char *filename2open;
    1.18 +curpos		dw	?		; 0	unsigned curpos;
    1.19 +filename2open	dw	?		; 2	char *filename2open;
    1.20 +fd		dw	?		; 4	int fd;
    1.21 +filemod		dw	?		; 6	unsigned short filemod;
    1.22 +fileofs		dd	?		; 8	unsigned long fileofs;
    1.23 +filesize	dd	?		;12	unsigned long filesize;
    1.24 +filename	dw	?		;16	char *filename;
    1.25 +curdirsize	dw	?		;18	dirsizetype curdirsize;
    1.26 +dirsize		dw	?		;20	dirsizetype dirsize;
    1.27 +curdirofs	dd	?		;22	unsigned long curdirofs;
    1.28 +dirofs		dd	?		;26	unsigned long dirofs;
    1.29 +;overlap
    1.30  entrysize	dw	?		;30	int entrysize;
    1.31  tmp		dw	?		;32	const char *tmp;
    1.32 -;buffer		label			;34	char buffer[2048+512];
    1.33 +c		db	?		;34	char c;
    1.34 +_64bits		db	?		;35	char _64bits;
    1.35 +buffer		db	?		;36	char buffer[2048+512];
    1.36  ends					; } isostate;
    1.37  		public	_isostate
    1.38  _isostate	isostate	<?>
    1.39 +		org	$-7
    1.40  		endif
    1.41  _xfer_buf	db	4096	dup (?)
    1.42          global  _no_exit:byte
    1.43 @@ -369,8 +373,7 @@
    1.44  		call	isolseek
    1.45  		jc	doret
    1.46  		mov	dx,2560
    1.47 -		;mov	bx,offset _isostate.buffer
    1.48 -		mov	bx,offset _xfer_buf
    1.49 +		mov	bx,offset _isostate.buffer
    1.50  		mov	ax,[_isostate.fd]
    1.51  		jmp	@read$dxbxax		; read(fd,buffer,2560)
    1.52  
    1.53 @@ -957,9 +960,9 @@
    1.54  		jnz	@@next
    1.55  		mov	[(image_himem di).next_chunk],offset next_chunk
    1.56  @@next:
    1.57 -		push	di
    1.58 +		;push	di
    1.59                  call	[(image_himem di).next_chunk]	; m->next_chunk()
    1.60 -		pop	di
    1.61 +		;pop	di
    1.62  		else
    1.63  @@next:
    1.64  		call	next_chunk
    1.65 @@ -980,9 +983,9 @@
    1.66  		jnz	@@next
    1.67                  pop	[(image_himem di).state]
    1.68  		ifdef	EXTRA
    1.69 -		push	di
    1.70 +		;push	di
    1.71                  call	[(image_himem di).next_chunk]	; m->next_chunk()
    1.72 -		pop	di
    1.73 +		;pop	di
    1.74  		else
    1.75  		call	next_chunk
    1.76  		endif
    1.77 @@ -1024,7 +1027,7 @@
    1.78  		sub	dx,si
    1.79  		mov	bx,[di]
    1.80  		call	@read$cxdxbx
    1.81 -		jc	image_done
    1.82 +		jbe	image_done
    1.83  		xor	cx,cx
    1.84  		cwd				; ax < 8000h
    1.85  		ifndef	NO386