]> gitweb.factorcode.org Git - factor.git/blob - basis/io/encodings/ascii/ascii.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[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     [ [ nip ] [ > ] 2bi [ >fixnum ] [ drop replacement-char ] if ]
13     [ 2drop f ] if ; inline
14 PRIVATE>
15
16 SINGLETON: ascii
17
18 M: ascii encode-char
19     128 encode-if< ;
20
21 M: ascii decode-char
22     128 decode-if< ;