[crypticl-cvs] CVS crypticl/src
tskogan
tskogan at common-lisp.net
Sun Feb 4 20:58:00 UTC 2007
Update of /project/crypticl/cvsroot/crypticl/src
In directory clnet:/tmp/cvs-serv23178
Modified Files:
utilities.lisp
Log Message:
Adding acopy and make-byte-array for octet arrays.
--- /project/crypticl/cvsroot/crypticl/src/utilities.lisp 2007/01/23 23:55:39 1.10
+++ /project/crypticl/cvsroot/crypticl/src/utilities.lisp 2007/02/04 20:58:00 1.11
@@ -159,8 +159,8 @@
new-string (format nil "~A" (aref string i))))))))
-(defun octet-vector-copy (in &optional (start 0) (end (length in))
- out (out-start 0))
+(defun octet-vector-copy (in &optional (start 0) (end (length in))
+ out (out-start 0))
"Returns copy of input vector or copies it into out at the given offset."
(let ((size (- end start)))
(unless out
@@ -168,6 +168,16 @@
(dotimes (i size out)
(setf (aref out (+ out-start i)) (aref in (+ start i))))))
+
+(defun acopy (in &key (start 0) (size (length in))
+ out (out-start 0))
+ "array copy"
+ (unless out
+ (setf out (make-byte-array size)))
+ (dotimes (i size out)
+ (setf (aref out (+ out-start i)) (aref in (+ start i)))))
+
+
(defun concat (&rest args)
"Concatenates strings and vectors.
WARNING! Will not work correctly if you mix strings and other vectors.
@@ -241,4 +251,6 @@
the same platform."
(map 'string #'code-char octet-vector))
-
\ No newline at end of file
+
+(defun make-byte-array (size)
+ (make-array size :element-type '(unsigned-byte 8) :initial-element 0))
\ No newline at end of file
More information about the Crypticl-cvs
mailing list