Index: db.scm ================================================================== --- db.scm +++ db.scm @@ -1537,21 +1537,23 @@ (define (db:get-index-by-header header field) (list-index (lambda (x)(equal? x field)) header)) ;; look up values in a header/data structure (define (db:get-value-by-header row header field) - (let ((len (vector-length row))) + (let ((len (if (vector? row) + (vector-length row) + 0))) (if (or (null? header) (not row)) #f (let loop ((hed (car header)) (tal (cdr header)) (n 0)) (if (equal? hed field) (handle-exceptions exn (begin - (debug:print 0 *default-log-port* "WARNING: attempt to read non-existant field, row=" + (debug:print 4 *default-log-port* "WARNING: attempt to read non-existant field, row=" row " header=" header " field=" field ", exn=" exn) #f) (if (>= n len) #f (vector-ref row n)))