home *** CD-ROM | disk | FTP | other *** search
-
- * Maxon C++:
- * Library-Modul "istream_line"
- * Jens Gelhar 24.04.92, 15.04.94
-
- xdef getline__istream__TPcic,read__istream__TPci
- xdef getline__istream__TPUcic,read__istream__TPUci
-
- xref get__istream__T,fread__PvUiUiP06stream
-
- getline__istream__TPcic: ; Parameter: istream&, char*, int max, char delim
- getline__istream__TPUcic: ; Parameter: istream&, char*, int max, char delim
- move.l a2,-(a7)
- move.l 4+4+0(a7),-(a7) ; istream&
- move.l 8+4+4(a7),a2 ; String
- move.l 8+4+8(a7),d1 ; max
- subq.l #1,d1
- blt.b .end
- beq.b .ende1
- .loop jsr get__istream__T
- cmp.l #-1,d0 ; EOF?
- beq.b .ende1
- cmp.b 8+4+12(a7),d0
- beq.b .ende1
- move.b d0,(a2)+
- subq.l #1,d1
- bne.b .loop
- .ende1 clr.b (a2)
- .end addq.l #4,a7
- move.l (a7)+,a2
- move.l 4(a7),d0
- rts
-
- read__istream__TPci:
- read__istream__TPUci: ; Parameter: istream&, char*, int
- move.l 4+8(a7),d0 ; Anzahl
- beq.b .brk1
- bmi.b .brk1
- move.l a0,-(a7)
- move.l 4+4(a7),a0 ; istream
- move.l (a0),a0 ; ios
- move.l (a0),-(a7) ; FILE
- move.l d0,-(a7) ; num
- pea 1.w ; size = Byte
- move.l 12+4+4+4(a7),-(a7)
- jsr fread__PvUiUiP06stream
- lea 16(a7),a7
- move.l (a7)+,a0
- .brk1 move.l 4(a7),d0
- rts
-
- end
-