fastcgi: pointer->c-pointer fix; output strings can contain NULs (thanks to Peter Danenberg); 1.1.1
git-svn-id: https://code.call-cc.org/svn/chicken-eggs/release/4/fastcgi/trunk@23252 fca3e652-9b03-0410-8d7b-ac86a6ce46c4
This commit is contained in:
parent
185a87ce76
commit
5bf8e57fda
|
@ -1,2 +1,2 @@
|
||||||
(uri meta-file "http://anonymous@code.call-cc.org/svn/chicken-eggs/release/4/{egg-name}/tags/{egg-release}/{egg-name}.meta")
|
(uri meta-file "http://anonymous@code.call-cc.org/svn/chicken-eggs/release/4/{egg-name}/tags/{egg-release}/{egg-name}.meta")
|
||||||
(release "1.1")
|
(release "1.1.1")
|
||||||
|
|
10
fastcgi.scm
10
fastcgi.scm
|
@ -50,7 +50,7 @@
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define-foreign-type fcgx-stream c-pointer)
|
(define-foreign-type fcgx-stream c-pointer)
|
||||||
(define-foreign-type fcgx-param-array (pointer c-string))
|
(define-foreign-type fcgx-param-array (c-pointer c-string))
|
||||||
|
|
||||||
(define (fcgx-init-if-necessary!)
|
(define (fcgx-init-if-necessary!)
|
||||||
(unless (or *fcgi-has-been-initialised*
|
(unless (or *fcgi-has-been-initialised*
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
(foreign-lambda c-string "FCGX_GetParam" c-string fcgx-param-array))
|
(foreign-lambda c-string "FCGX_GetParam" c-string fcgx-param-array))
|
||||||
|
|
||||||
(define fcgx-put-str
|
(define fcgx-put-str
|
||||||
(foreign-lambda int "FCGX_PutStr" c-string int fcgx-stream))
|
(foreign-lambda int "FCGX_PutStr" scheme-pointer int fcgx-stream))
|
||||||
|
|
||||||
(define fcgx-has-seen-eof
|
(define fcgx-has-seen-eof
|
||||||
(foreign-lambda bool "FCGX_HasSeenEOF" fcgx-stream))
|
(foreign-lambda bool "FCGX_HasSeenEOF" fcgx-stream))
|
||||||
|
@ -199,8 +199,8 @@
|
||||||
;;; Utility function for incrementing a char**.
|
;;; Utility function for incrementing a char**.
|
||||||
(define sarray-pointer+1
|
(define sarray-pointer+1
|
||||||
(foreign-lambda*
|
(foreign-lambda*
|
||||||
(pointer c-string)
|
(c-pointer c-string)
|
||||||
(((pointer c-string) p))
|
(((c-pointer c-string) p))
|
||||||
"return(p + 1);"))
|
"return(p + 1);"))
|
||||||
|
|
||||||
(define (wrap-env e)
|
(define (wrap-env e)
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
;; Convert the char ** array into a list of key/value cons pairs.
|
;; Convert the char ** array into a list of key/value cons pairs.
|
||||||
(let loop ((strlist '()) (p e))
|
(let loop ((strlist '()) (p e))
|
||||||
(let ((deref
|
(let ((deref
|
||||||
((foreign-lambda* c-string (((pointer c-string) ps)) "return(*ps);")
|
((foreign-lambda* c-string (((c-pointer c-string) ps)) "return(*ps);")
|
||||||
p)))
|
p)))
|
||||||
(cond
|
(cond
|
||||||
(deref
|
(deref
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
|
|
||||||
(install-extension 'fastcgi '("fastcgi.so" "fastcgi.import.so")
|
(install-extension 'fastcgi '("fastcgi.so" "fastcgi.import.so")
|
||||||
'((documentation "fastcgi.html")
|
'((documentation "fastcgi.html")
|
||||||
(version "1.1")))
|
(version "1.1.1")))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue