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 ;
7 : encode-if< ( char stream encoding max -- )
8 nip 1- pick < [ encode-error ] [ stream-write1 ] if ; inline
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