]> git.sur5r.net Git - cc65/blobdiff - libsrc/common/toupper.s
Invalid error codes will set errno
[cc65] / libsrc / common / toupper.s
index ab7711cb214ed252803342d814c741c972243296..adc3d4a337687baa8f70bd30e60392f414e76bf5 100644 (file)
@@ -5,15 +5,17 @@
 ;
 
        .export         _toupper
-       .import         __ctype, __cdiff
+       .import         __ctype
 
 _toupper:
+        cpx     #$00            ; Outside valid range?
+        bne     L9              ; If so, return the argument unchanged
        tay                     ; Get c into Y
        lda     __ctype,y       ; Get character classification
        lsr     a               ; Get bit 0 (lower char) into carry
        tya                     ; Get C back into A
                bcc     L9              ; Jump if not lower char
                clc
-       adc     __cdiff         ; make upper case char
+               adc     #<('A'-'a')     ; make upper case char
 L9:    rts                     ; CC are set