]> git.sur5r.net Git - cc65/blobdiff - libsrc/common/ispunct.s
Just removed some trailing spaces.
[cc65] / libsrc / common / ispunct.s
index 71664f0d8616efcf4a49338da7c1b88174dbc5f1..087532940a9a2576ac0f579c1f9ff035329ac0d8 100644 (file)
@@ -1,16 +1,25 @@
 ;
-; Ullrich von Bassewitz, 02.06.1998
+; 1998-06-02, Ullrich von Bassewitz
+; 2014-09-10, Greg King
 ;
 ; int ispunct (int c);
 ;
 
-       .export         _ispunct
-       .import         __ctype
+        .export         _ispunct
+        .include        "ctype.inc"
 
 _ispunct:
-       tay
-       lda     __ctype,y       ; Get character classification
-               eor     #$37            ; NOT (space | control | digit | char)
-               and     #$37            ; Mask relevant bits
-       rts
+        cpx     #>$0000         ; Char range OK?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_NOT_PUNCT   ; Mask relevant bits
+        cmp     #1              ; If false, then set "borrow" flag
+        lda     #0
+        sbc     #0              ; Invert logic
+        rts                     ; Return NOT (space | control | digit | alpha)
+
+@L1:    lda     #<0             ; Return false
+        tax
+        rts