X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-md5%2Fmd5.lisp;h=eb7c7d57bc31a96e9a1d9a9d3359d6dc792cbb76;hb=69ef68ba7393e3492c1b4a756d1140f71c2922bc;hp=8563c8a4af03c57d9ce9fc8babb6da4bb286abd1;hpb=257680b92edd0f8a698325790c082303a1493c7b;p=sbcl.git diff --git a/contrib/sb-md5/md5.lisp b/contrib/sb-md5/md5.lisp index 8563c8a..eb7c7d5 100644 --- a/contrib/sb-md5/md5.lisp +++ b/contrib/sb-md5/md5.lisp @@ -277,11 +277,7 @@ starting from offset into the given 16 word MD5 block." block (* vm:vector-data-offset vm:word-bits) (* 64 vm:byte-bits)) #+(and :sbcl :little-endian) - (sb-kernel:bit-bash-copy - buffer (+ (* sb-vm:vector-data-offset sb-vm:n-word-bits) - (* offset sb-vm:n-byte-bits)) - block (* sb-vm:vector-data-offset sb-vm:n-word-bits) - (* 64 sb-vm:n-byte-bits)) + (sb-kernel:ub8-bash-copy buffer offset block 0 64) #-(or (and :sbcl :little-endian) (and :cmu :little-endian)) (loop for i of-type (integer 0 16) from 0 for j of-type (integer 0 #.most-positive-fixnum) @@ -306,11 +302,7 @@ offset into the given 16 word MD5 block." block (* vm:vector-data-offset vm:word-bits) (* 64 vm:byte-bits)) #+(and :sbcl :little-endian) - (sb-kernel:bit-bash-copy - buffer (+ (* sb-vm:vector-data-offset sb-vm:n-word-bits) - (* offset sb-vm:n-byte-bits)) - block (* sb-vm:vector-data-offset sb-vm:n-word-bits) - (* 64 sb-vm:n-byte-bits)) + (sb-kernel:ub8-bash-copy buffer offset block 0 64) #-(or (and :sbcl :little-endian) (and :cmu :little-endian)) (loop for i of-type (integer 0 16) from 0 for j of-type (integer 0 #.most-positive-fixnum) @@ -380,12 +372,7 @@ starting at buffer-offset." (* buffer-offset vm:byte-bits)) (* count vm:byte-bits)) #+sbcl - (sb-kernel:bit-bash-copy - from (+ (* sb-vm:vector-data-offset sb-vm:n-word-bits) - (* from-offset sb-vm:n-byte-bits)) - buffer (+ (* sb-vm:vector-data-offset sb-vm:n-word-bits) - (* buffer-offset sb-vm:n-byte-bits)) - (* count sb-vm:n-byte-bits)) + (sb-kernel:ub8-bash-copy from from-offset buffer buffer-offset count) #-(or cmu sbcl) (etypecase from (simple-string @@ -536,6 +523,10 @@ in SEQUENCE , which must be a vector with element-type (UNSIGNED-BYTE (finalize-md5-state state))) (defun md5sum-string (string &key (external-format :default) (start 0) end) + "Calculate the MD5 message-digest of the binary representation +of STRING (as octets) in EXTERNAL-FORMAT. The boundaries START +and END refer to character positions in the string, not to octets +in the resulting binary representation." (declare (optimize (speed 3) (space 0) (debug 0)) (type string string)) (md5sum-sequence