]> git.sur5r.net Git - cc65/commitdiff
Added pushback char to struct FILE
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 12 May 2004 13:16:36 +0000 (13:16 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 12 May 2004 13:16:36 +0000 (13:16 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3028 b7a2c559-68d2-44c3-8de9-860c34a00d81

asminc/_file.inc
libsrc/common/_file.h
libsrc/common/_file.s
libsrc/common/fmisc.s

index 916215bcea6a3fc814fb40cde476b9080d172f45..2f9938a3ede00e14f128abc883f707ad72494ca9 100644 (file)
@@ -9,8 +9,9 @@
 
 ; Struct _FILE
 .struct _FILE
-        f_fd    .byte
-        f_flags .byte
+        f_fd        .byte
+        f_flags     .byte
+        f_pushback  .byte
 .endstruct
 
 ; Flags field
@@ -23,3 +24,4 @@ _FPUSHBACK      = $08
 ; File table
 .global         __filetab
 
+    
index f1f9af306bc6a709770a48441acba8809782db84..8ee46ff2a0186da696994bcd69f17dfd0136d773 100644 (file)
 
 /* Definition of struct _FILE */
 struct _FILE {
-    char       f_fd;
-    char       f_flags;
+    char           f_fd;
+    char           f_flags;
+    unsigned char   f_pushback;
 };
 
 /* File table. Beware: FOPEN_MAX is hardcoded in the ASM files! */
-extern FILE _filetab [FOPEN_MAX];
+extern FILE _filetab[FOPEN_MAX];
 
 /* Flags field */
 #define _FCLOSED       0x00
index b34a135aa7fdde41ab8d139730082e23abffa37f..84686a062ac834d3dbfeacaf96c82ddbd4411306 100644 (file)
 .data
 
 __filetab:
-        .byte   0, _FOPEN       ; stdin
-        .byte   1, _FOPEN       ; stdout
-        .byte   2, _FOPEN       ; stderr
+        .byte   0, _FOPEN, 0    ; stdin
+        .byte   1, _FOPEN, 0    ; stdout
+        .byte   2, _FOPEN, 0    ; stderr
 .repeat FOPEN_MAX - 3
-        .byte   0, _FCLOSED     ; free slot
+        .byte   0, _FCLOSED, 0  ; free slot
 .endrepeat
 
 
index c9125939e64f022c309145d0753c3b774ae1a776..98ad7214c7bacffe25a45b923cbccb226efd8169 100644 (file)
@@ -68,7 +68,7 @@ _ferror:
 _fileno:
        jsr     getf
 ;      bcs     err
-       dey
+       ldy     #_FILE::f_fd
        lda     (ptr1),y
        ldx     #0
        rts