]> git.sur5r.net Git - cc65/blobdiff - libsrc/cbm/write.s
don't use constructor to setup runtime stack
[cc65] / libsrc / cbm / write.s
index 7a1441fe005299a89b8dc68b921abe09e9503fd5..46bcfe407c825a22dd50857898646cd8b8dcbf1b 100644 (file)
@@ -7,11 +7,11 @@
         .export         _write
         .constructor    initstdout
 
+        .import         SETLFS, OPEN, CKOUT, BSOUT, CLRCH
         .import         rwcommon
-        .import         __errno, __oserror
+        .import         __oserror
         .importzp       sp, ptr1, ptr2, ptr3
 
-        .include        "errno.inc"
         .include        "fcntl.inc"
         .include        "cbm.inc"
         .include        "filedes.inc"
@@ -20,6 +20,8 @@
 ;--------------------------------------------------------------------------
 ; initstdout: Open the stdout and stderr file descriptors for the screen.
 
+.segment        "INIT"
+
 .proc   initstdout
 
         lda     #LFN_WRITE
 
 ;--------------------------------------------------------------------------
 ; _write
-
+                      
+.code
 
 .proc   _write
 
         jsr     rwcommon        ; Pop params, check handle
-        bcs     invalidfd       ; Branch if handle not ok
+        bcs     errout          ; Invalid handle, errno already set
 
 ; Check if the LFN is valid and the file is open for writing
 
         ldx     ptr3+1
         rts
 
-; Error entry, file descriptor is invalid
-
-invalidfd:
-        lda     #EINVAL
-        sta     __errno
-        lda     #0
-        sta     __errno+1
-        beq     errout
-
 ; Error entry, file is not open
 
 notopen: