Update of /project/pg/cvsroot/pg In directory clnet:/tmp/cvs-serv31715
Modified Files: parsers.lisp Log Message: Fix numeric parser for negative numbers. From levente.meszaros@gmail.com
--- /project/pg/cvsroot/pg/parsers.lisp 2006/10/22 19:29:47 1.9 +++ /project/pg/cvsroot/pg/parsers.lisp 2006/12/16 13:24:09 1.10 @@ -133,7 +133,9 @@ (when (> dec-str-len 0) ;; parse integer after #. and divide by 10^(digits), i.e. ".023" => 23/1000 (setq decimal-part (/ (parse-integer decimal-str) (expt 10 dec-str-len)))))) - (+ integer-part decimal-part))) + (if (eq #- (elt str 0)) + (- integer-part decimal-part) + (+ integer-part decimal-part))))
;; FIXME switch to a specialized float parser that conses less (defun float-parser (str)