- (setq num-fields (length line))
- (setq fields-max (make-array num-fields :element-type 'fixnum
- :initial-element 0))
- (setq fields-av (make-array num-fields :element-type 'number
- :initial-element 0)))
- (dotimes (i num-fields)
- (declare (fixnum i))
- (let ((len (length (nth i line))))
- (incf (aref fields-av i) len)
- (when (> len (aref fields-max i))
- (setf (aref fields-max i) len))))
+ (setq num-fields (length line))
+ (setq fields-max (make-array num-fields :element-type 'fixnum
+ :initial-element 0))
+ (setq fields-av (make-array num-fields :element-type '(or integer float)
+ :initial-element 0)))
+ (dotimes (i (or num-fields 0))
+ (declare (fixnum i))
+ (let* ((str (nth i line))
+ (len (length #-(and clisp unicode) str
+ #+(and clisp unicode)
+ (if *octet-sql-storage*
+ (ext:convert-string-to-bytes str charset:utf-8)
+ str))))
+ #-(and clisp unicode) (declare (string str))
+ (declare (type (integer 0 100000000) len))
+ (incf (aref fields-av i) len)
+ (when (> len (aref fields-max i))
+ (setf (aref fields-max i) len))))