tools.hexdump: smaller binary sizes without formatting.

paths
John Benediktsson 2018-03-14 13:34:41 -07:00
parent ee83e0f0d3
commit 880ce3d4b5
1 changed files with 6 additions and 6 deletions

View File

@ -2,10 +2,10 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors ascii byte-arrays byte-vectors combinators USING: accessors ascii byte-arrays byte-vectors combinators
command-line destructors formatting fry io io.encodings command-line destructors fry io io.encodings io.encodings.binary
io.encodings.binary io.files io.streams.string kernel literals io.files io.streams.string kernel literals locals math
locals math math.parser namespaces sequences sequences.private math.parser namespaces sequences sequences.private strings typed
strings typed ; ;
IN: tools.hexdump IN: tools.hexdump
@ -63,12 +63,12 @@ TYPED: write-hex-line ( from: fixnum to: fixnum bytes: byte-array -- )
len 16 /mod len 16 /mod
[ [ 16 * dup 16 + bytes write-hex-line ] each-integer ] [ [ 16 * dup 16 + bytes write-hex-line ] each-integer ]
[ [ len swap - len bytes write-hex-line ] unless-zero ] bi* [ [ len swap - len bytes write-hex-line ] unless-zero ] bi*
len "%08x\n" printf ; len >hex 8 CHAR: 0 pad-head print ;
: hexdump-stream ( stream -- ) : hexdump-stream ( stream -- )
reset-line# 0 swap [ reset-line# 0 swap [
all-bytes [ write-hex-line ] [ length + ] bi all-bytes [ write-hex-line ] [ length + ] bi
] 16 (each-stream-block) "%08x\n" printf ; ] 16 (each-stream-block) >hex 8 CHAR: 0 pad-head print ;
PRIVATE> PRIVATE>