6 #DECL ((X) <OR FIX STRING> (OUTCHAN) CHANNEL)
8 <REPEAT ((D *20000000000*) (B <ISTRING 32>))
9 #DECL ((D) FIX (B) STRING)
10 <COND (<0? <ANDB .D .X>> <PUT .B 1 !\0>)
12 <COND (<0? <SET D <LSH .D -1>>> <RETURN <TOP .B>>)
13 (T <SET B <REST .B>>)>>)
14 (<AND <TYPE? .X STRING> <L=? <LENGTH .X> 32>>
15 <REPEAT ((D 0) (P <+ <LENGTH .X> 1>) (M 1))
17 <COND (<0? <SET P <- .P 1>>> <RETURN <CHTYPE .D WORD>>)
18 (<==? <NTH .X .P> !\1> <SET D <+ .M .D>>)
19 (<N==? <NTH .X .P> !\0> <ERROR BAD-STRING!-ERRORS BINARY>)>
20 <SET M <LSH .M 1>>>)>>