]> git.sur5r.net Git - cc65/commitdiff
Changed the code so that it better suits the code generation of the compiler
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 10 Jun 2012 18:32:38 +0000 (18:32 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 10 Jun 2012 18:32:38 +0000 (18:32 +0000)
(which means, the resulting code is shorter).

git-svn-id: svn://svn.cc65.org/cc65/trunk@5702 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/common/fputc.c

index ef676a864186e6c150882d3af510054b35116c09..6d5f37e201d5e1d3c1dea3c9e45683a1e8f4c06f 100644 (file)
 
 
 
-int __fastcall__ fputc (int c, FILE* f)
+int __fastcall__ fputc (int c, register FILE* f)
 {
     /* Check if the file is open or if there is an error condition */
     if ((f->f_flags & _FOPEN) == 0 || (f->f_flags & (_FERROR | _FEOF)) != 0) {
-       return EOF;
+       goto ReturnEOF;
     }
 
-    /* Write the byte (knows about byte order!) */
-    if (write (f->f_fd, &c, 1) <= 0) {
+    /* Write the byte */
+    if (write (f->f_fd, &c, 1) != 1) {
        /* Error */
        f->f_flags |= _FERROR;
+ReturnEOF:
        return EOF;
     }