X-Git-Url: http://git.kpe.io/?p=cl-base64.git;a=blobdiff_plain;f=package.lisp;h=5eac24111e5430a80ac41ebf410d46356def62a3;hp=7c119de45ec550dd4873afbd05a3f35d955c12ea;hb=82dad9251bca87c5e73c1506c81f2b8b19c574a0;hpb=9d5e8be84951cef7f6a11bb60af0c64d8bd1e254 diff --git a/package.lisp b/package.lisp index 7c119de..5eac241 100644 --- a/package.lisp +++ b/package.lisp @@ -1,4 +1,4 @@ -;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; @@ -7,68 +7,65 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Dec 2002 ;;;; -;;;; $Id: package.lisp,v 1.1 2003/01/12 20:25:26 kevin Exp $ +;;;; $Id$ ;;;; ;;;; ************************************************************************* -(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) - (defpackage #:cl-base64 (:nicknames #:base64) (:use #:cl) (:export #:base64-stream-to-integer - #:base64-string-to-integer - #:base64-string-to-string - #:base64-stream-to-string - #:base64-string-to-stream - #:base64-stream-to-stream - #:base64-string-to-usb8-array - #:base64-stream-to-usb8-array - #:string-to-base64-string - #:string-to-base64-stream - #:usb8-array-to-base64-string - #:usb8-array-to-base64-stream - #:stream-to-base64-string - #:stream-to-base64-stream - #:integer-to-base64-string - #:integer-to-base64-stream + #:base64-string-to-integer + #:base64-string-to-string + #:base64-stream-to-string + #:base64-string-to-stream + #:base64-stream-to-stream + #:base64-string-to-usb8-array + #:base64-stream-to-usb8-array + #:string-to-base64-string + #:string-to-base64-stream + #:usb8-array-to-base64-string + #:usb8-array-to-base64-stream + #:stream-to-base64-string + #:stream-to-base64-stream + #:integer-to-base64-string + #:integer-to-base64-stream + + ;; For creating custom encode/decode tables + #:*uri-encode-table* + #:*uri-decode-table* + #:make-decode-table - ;; For creating custom encode/decode tables - #:*uri-encode-table* - #:*uri-decode-table* - #:make-decode-table - )) + #:test-base64 + )) (in-package #:cl-base64) -(eval-when (:compile-toplevel :load-toplevel :execute) - (defvar *encode-table* - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") - (declaim (type simple-string *encode-table*)) - - (defvar *uri-encode-table* - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_") - (declaim (type simple-string *uri-encode-table*)) - - (deftype decode-table () '(array fixnum (256))) +(defvar *encode-table* + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") +(declaim (type simple-string *encode-table*)) + +(defvar *uri-encode-table* + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_") +(declaim (type simple-string *uri-encode-table*)) + +(deftype decode-table () '(simple-array fixnum (256))) + +(defun make-decode-table (encode-table) + (let ((dt (make-array 256 :adjustable nil :fill-pointer nil + :element-type 'fixnum + :initial-element -1))) + (declare (type decode-table dt)) + (loop for char of-type character across encode-table + for index of-type fixnum from 0 below 64 + do (setf (aref dt (the fixnum (char-code char))) index)) + dt)) + +(defvar *decode-table* (make-decode-table *encode-table*)) + +(defvar *uri-decode-table* (make-decode-table *uri-encode-table*)) - (defun make-decode-table (encode-table) - (let ((dt (make-array 256 :adjustable nil :fill-pointer nil - :element-type 'fixnum - :initial-element -1))) - (loop for char of-type character across encode-table - for index of-type fixnum from 0 below 64 - do (setf (aref dt (the fixnum (char-code char))) index)) - dt)) - - (defvar *decode-table* (make-decode-table *encode-table*)) - - (defvar *uri-decode-table* (make-decode-table *uri-encode-table*)) - - (declaim (type decode-table *decode-table* *uri-decode-table*)) - - (defvar *pad-char* #\=) - (defvar *uri-pad-char* #\.) - (declaim (type character *pad-char* *uri-pad-char*)) - ) +(defvar *pad-char* #\=) +(defvar *uri-pad-char* #\.) +(declaim (type character *pad-char* *uri-pad-char*))