(unless digit (return))
(setq value (+ (* value 10) digit))
(incf index)))
+ ;; Trailing whitespace
+ (do ((i index (1+ i)))
+ ((or (= i size) (not (whitespacep (char string i))))
+ (and (= i size) (setq index i))))
(if (or junk-allow
- (= index size)
- (char= (char string index) #\space))
+ (= index size))
(values (* sign value) index)
(values nil index)))))