tools.hexdump: smaller binary sizes without formatting.
parent
ee83e0f0d3
commit
880ce3d4b5
|
@ -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>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue