Separating bytes usage for next change

This commit is contained in:
Jay McCarthy 2010-05-24 12:57:32 -06:00
parent 758b944996
commit f67177f740

View File

@ -361,6 +361,10 @@
(define-struct cport ([pos #:mutable] shared-start orig-port size bytes symtab shared-offsets decoded rns mpis)) (define-struct cport ([pos #:mutable] shared-start orig-port size bytes symtab shared-offsets decoded rns mpis))
(define (cport-get-bytes cp len)
(subbytes (cport-bytes cp) (cport-pos cp) (+ (cport-pos cp) len)))
(define (cport-get-byte cp pos)
(bytes-ref (cport-bytes cp) pos))
(define (cport-rpos cp) (define (cport-rpos cp)
(+ (cport-pos cp) (cport-shared-start cp))) (+ (cport-pos cp) (cport-shared-start cp)))
@ -369,8 +373,7 @@
(begin-with-definitions (begin-with-definitions
(when ((cport-pos cp) . >= . (cport-size cp)) (when ((cport-pos cp) . >= . (cport-size cp))
(error "off the end")) (error "off the end"))
(define r (define r (cport-get-byte cp (cport-pos cp)))
(bytes-ref (cport-bytes cp) (cport-pos cp)))
(set-cport-pos! cp (add1 (cport-pos cp))) (set-cport-pos! cp (add1 (cport-pos cp)))
r)) r))
@ -436,7 +439,7 @@
(define (read-compact-bytes port c) (define (read-compact-bytes port c)
(begin0 (begin0
(subbytes (cport-bytes port) (cport-pos port) (+ (cport-pos port) c)) (cport-get-bytes port c)
(set-cport-pos! port (+ c (cport-pos port))))) (set-cport-pos! port (+ c (cport-pos port)))))
(define (read-compact-chars port c) (define (read-compact-chars port c)
@ -742,7 +745,7 @@
v)))] v)))]
[(escape) [(escape)
(let* ([len (read-compact-number cp)] (let* ([len (read-compact-number cp)]
[s (subbytes (cport-bytes cp) (cport-pos cp) (+ (cport-pos cp) len))]) [s (cport-get-bytes cp len)])
(set-cport-pos! cp (+ (cport-pos cp) len)) (set-cport-pos! cp (+ (cport-pos cp) len))
(parameterize ([read-accept-compiled #t] (parameterize ([read-accept-compiled #t]
[read-accept-bar-quote #t] [read-accept-bar-quote #t]