;
-; Ullrich von Bassewitz, 02.06.1998
+; 1998-06-02, Ullrich von Bassewitz
+; 2014-09-10, Greg King
;
; int isgraph (int c);
;
- .export _isgraph
- .import __ctype
+ .export _isgraph
+ .include "ctype.inc"
_isgraph:
- cpx #$00 ; Char range ok?
- bne @L1 ; Jump if no
- tay
- lda __ctype,y ; Get character classification
- eor #$30 ; NOT control and NOT space
- and #$30 ; Mask character bits
- rts
+ cpx #>$0000 ; Char range OK?
+ bne @L1 ; Jump if no
+ tay
+ lda __ctype,y ; Get character classification
+ and #CT_CTRL_SPACE ; Mask character bits
+ cmp #1 ; If false, then set "borrow" flag
+ lda #0
+ sbc #0 ; Invert logic
+ rts ; Return NOT control and NOT space
-@L1: lda #$00 ; Return false
- tax
- rts
+@L1: lda #<0 ; Return false
+ tax
+ rts