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:
zbigniew 2011-03-25 03:23:18 +00:00
parent 185a87ce76
commit 5bf8e57fda
3 changed files with 7 additions and 7 deletions

View File

@ -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")

View File

@ -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

View File

@ -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")))