From 2e975dcc816ad77a61e0837175b8f0ab9854f7e4 Mon Sep 17 00:00:00 2001 From: Gerd Flaig Date: Sat, 10 Oct 2009 19:14:07 +0200 Subject: [PATCH 1/1] Extract get-table from get-table-entry. Maintain fill pointer at last entry. --- xdump.lisp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xdump.lisp b/xdump.lisp index c2f866e..5d68b1d 100644 --- a/xdump.lisp +++ b/xdump.lisp @@ -28,10 +28,13 @@ (defvar *meta-index* (make-array 5) "meta slot symbol by meta table column index") (defvar *meta-meta* (make-array 5)) -(defun get-table-entry (table-name index) +(defun get-table (table-name) (let* ((table-index (gethash table-name *index-by-name*)) (table (aref *table-by-index* table-index))) - (aref (table-entries table) index))) + table)) + +(defun get-table-entry (table-name index) + (aref (table-entries (get-table table-name)) index)) (defclass xdump-parser () ((line-parser :accessor line-parser :initform nil) @@ -115,7 +118,7 @@ (entries (table-entries table))) ; extend array if necessary (unless (> (fill-pointer entries) index) - (adjust-array entries (* 2 index) :fill-pointer t)) + (adjust-array entries (* 2 index) :fill-pointer index :initial-element nil)) (setf (aref entries index) e) (loop for item in entry -- 2.43.0