X-Git-Url: http://git.kpe.io/?p=cl-base64.git;a=blobdiff_plain;f=encode.lisp;h=f5276a885faff2e81da6f5dee272818d36a02aa4;hp=f3791aad7867651a608f65fb96a2280f7bdc1dce;hb=7061e145805504275b192c0a50723090b518a16a;hpb=a77fb6c8e7a3ac36bc8637e54fbb8352937814bf diff --git a/encode.lisp b/encode.lisp index f3791aa..f5276a8 100644 --- a/encode.lisp +++ b/encode.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Dec 2002 ;;;; -;;;; $Id: encode.lisp,v 1.5 2003/01/14 11:59:44 kevin Exp $ +;;;; $Id$ ;;;; ;;;; This file implements the Base64 transfer encoding algorithm as ;;;; defined in RFC 1521 by Borensten & Freed, September 1993. @@ -19,8 +19,6 @@ ;;;; Permission to use with BSD-style license included in the COPYING file ;;;; ************************************************************************* -(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) - ;;;; Extended by Kevin M. Rosenberg : ;;;; - .asd file ;;;; - numerous speed optimizations @@ -28,15 +26,14 @@ ;;;; - Renamed functions now that supporting integer conversions ;;;; - URI-compatible encoding using :uri key ;;;; -;;;; $Id: encode.lisp,v 1.5 2003/01/14 11:59:44 kevin Exp $ +;;;; $Id$ (in-package #:cl-base64) - (defun round-next-multiple (x n) "Round x up to the next highest multiple of n." (declare (fixnum n) - (optimize (speed 3))) + (optimize (speed 3) (safety 0) (space 0))) (let ((remainder (mod x n))) (declare (fixnum remainder)) (if (zerop remainder) @@ -47,7 +44,7 @@ `(defun ,(intern (concatenate 'string (symbol-name input-type) (symbol-name :-to-base64-) (symbol-name output-type))) - (input + (input ,@(when (eq output-type :stream) '(output)) &key (uri nil) (columns 0)) @@ -60,7 +57,7 @@ with a #\Newline." (:usb8-array '((type (array (unsigned-byte 8) (*)) input)))) (fixnum columns) - (optimize (speed 3))) + (optimize (speed 3) (safety 0) (space 0))) (let ((pad (if uri *uri-pad-char* *pad-char*)) (encode-table (if uri *uri-encode-table* *encode-table*))) (declare (simple-string encode-table) @@ -215,7 +212,7 @@ with a #\Newline." "Encode an integer to base64 format." (declare (integer input) (fixnum columns) - (optimize (speed 3))) + (optimize (speed 3) (space 0) (safety 0))) (let ((pad (if uri *uri-pad-char* *pad-char*)) (encode-table (if uri *uri-encode-table* *encode-table*))) (declare (simple-string encode-table) @@ -274,7 +271,7 @@ with a #\Newline." "Encode an integer to base64 format." (declare (integer input) (fixnum columns) - (optimize (speed 3))) + (optimize (speed 3) (space 0) (safety 0))) (let ((pad (if uri *uri-pad-char* *pad-char*)) (encode-table (if uri *uri-encode-table* *encode-table*))) (declare (simple-string encode-table)