From: Ralph Ronnquist Date: Tue, 18 Apr 2023 07:59:03 +0000 (+1000) Subject: Added char2hex. moved "global" calls to be with the functions. X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=2439953c058c792c3ce7a5ca419f2502c8f776d8;p=rrq%2Flsp-utils.git Added char2hex. moved "global" calls to be with the functions. --- diff --git a/lsp-misc/misc.lsp b/lsp-misc/misc.lsp index 5b72484..9e77db9 100644 --- a/lsp-misc/misc.lsp +++ b/lsp-misc/misc.lsp @@ -6,17 +6,24 @@ (and N (exit N))) (global 'die) +(define (char2hex STR) + (join (map (curry format "%2x") (map char (explode STR))))) +(global 'char2hex) + ;; Print binary byte as octal or as ASCII character [32-126] (define (octal-byte x) (if (and (> x 31) (< x 127)) (char x) (format "\\%o" x))) +(global 'octal-byte) ;; Print string as binary octals (define (octals-string S) (join (map octal-byte (unpack (dup "b" (length S)) S)))) +(global 'octals-string) ;; Return byte code as printable or as code. (define (human-byte B) (if (and (> B 32) (< B 127)) (char B) B)) +(global 'human-byte) ;; Return a packed encoding of a list of bytes, joining string elements (define (human-bytes BL) @@ -28,5 +35,6 @@ (setf X nil)))) (when (string? X) (push X OUT -1)) OUT)) - -(global 'octals-string 'octal-byte 'human-byte 'human-bytes) +(global 'human-bytes) + +"misc.lsp"