From 49ef0cdc631ac61e8a114fec45cca75786580915 Mon Sep 17 00:00:00 2001 From: espen Date: Wed, 26 Apr 2006 19:19:14 +0000 Subject: [PATCH] Modified DEFAULT-ALIEN-FNAME --- gffi/interface.lisp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/gffi/interface.lisp b/gffi/interface.lisp index 041935b..35a1a2f 100644 --- a/gffi/interface.lisp +++ b/gffi/interface.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: interface.lisp,v 1.1 2006-04-25 20:36:05 espen Exp $ +;; $Id: interface.lisp,v 1.2 2006-04-26 19:19:14 espen Exp $ (in-package "GFFI") @@ -53,17 +53,11 @@ (defun default-alien-fname (lisp-name) (let* ((name (substitute #\_ #\- (string-downcase lisp-name))) - (stripped-name - (cond - ((and - (char= (char name 0) #\%) - (string= "_p" name :start2 (- (length name) 2))) - (subseq name 1 (- (length name) 2))) - ((char= (char name 0) #\%) - (subseq name 1)) - ((string= "_p" name :start2 (- (length name) 2)) - (subseq name 0 (- (length name) 2))) - (name))) + (start (position-if-not #'(lambda (char) (char= char #\%)) name)) + (end (if (string= "_p" name :start2 (- (length name) 2)) + (- (length name) 2) + (length name))) + (stripped-name (subseq name start end)) (prefix (package-prefix *package*))) (if (or (not prefix) (string= prefix "")) stripped-name -- 2.11.0