]> gitweb.factorcode.org Git - factor.git/blob - basis/io/encodings/ascii/ascii.factor
08dc8d07d91b081330f5e8a1cc109323ed831f4e
[factor.git] / basis / io / encodings / ascii / ascii.factor
1 ! Copyright (C) 2008 Daniel Ehrenberg.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: io io.encodings kernel math io.encodings.private ;
4 IN: io.encodings.ascii
5
6 <PRIVATE
7 : encode-if< ( char stream encoding max -- )
8     nip 1- pick < [ encode-error ] [ stream-write1 ] if ; inline
9
10 : decode-if< ( stream encoding max -- character )
11     nip swap stream-read1 dup
12     [ tuck > [ drop replacement-char ] unless ] [ 2drop f ] if ; inline
13 PRIVATE>
14
15 SINGLETON: ascii
16
17 M: ascii encode-char
18     128 encode-if< ;
19
20 M: ascii decode-char
21     128 decode-if< ;