diff options
| author | Sascha Schumann <sas@php.net> | 2001-03-13 17:14:47 +0000 | 
|---|---|---|
| committer | Sascha Schumann <sas@php.net> | 2001-03-13 17:14:47 +0000 | 
| commit | 5708ddf171ff8c06bad4128328f501bcd867d76c (patch) | |
| tree | 27f0219d0b67b5f954715f47a6e331cfb3b34653 | |
| parent | 667a1f1fdb84508f03a2f8494c819fbdd56bd6e9 (diff) | |
| download | php-git-5708ddf171ff8c06bad4128328f501bcd867d76c.tar.gz | |
Replace memcpy and sprintf with smart_strs.
| -rw-r--r-- | sapi/thttpd/thttpd.c | 28 | 
1 files changed, 12 insertions, 16 deletions
| diff --git a/sapi/thttpd/thttpd.c b/sapi/thttpd/thttpd.c index 8d6ec9d885..a99526adc4 100644 --- a/sapi/thttpd/thttpd.c +++ b/sapi/thttpd/thttpd.c @@ -24,6 +24,8 @@  #include "php_variables.h"  #include "version.h" +#include "ext/standard/php_smart_str.h" +  #include <sys/uio.h>  typedef struct { @@ -257,30 +259,24 @@ static void thttpd_module_main(TLS_D SLS_DC)  static void thttpd_request_ctor(TLS_D SLS_DC)  { -	char *cp; -	size_t cp_len;  	char buf[1024];  	int offset;  	size_t filename_len;  	size_t cwd_len; - +	smart_str s = {0};  	SG(request_info).query_string = TG(hc)->query?strdup(TG(hc)->query):NULL; -	filename_len = strlen(TG(hc)->expnfilename); -	cwd_len = strlen(TG(hc)->hs->cwd); - -	cp_len = cwd_len + filename_len; -	cp = (char *) malloc(cp_len + 1); -	/* cwd always ends in "/", so this is safe */ -	memcpy(cp, TG(hc)->hs->cwd, cwd_len); -	memcpy(cp + cwd_len, TG(hc)->expnfilename, filename_len); -	cp[cp_len] = '\0'; -	 -	SG(request_info).path_translated = cp; +	smart_str_appends_ex(&s, TG(hc)->hs->cwd, 1); +	smart_str_appends_ex(&s, TG(hc)->expnfilename, 1); +	smart_str_0(&s); +	SG(request_info).path_translated = s.c; -	snprintf(buf, 1023, "/%s", TG(hc)->origfilename); -	SG(request_info).request_uri = strdup(buf); +	s.c = NULL; +	smart_str_appendc_ex(&s, '/', 1); +	smart_str_appends_ex(&s, TG(hc)->origfilename, 1); +	smart_str_0(&s); +	SG(request_info).request_uri = s.c;  	SG(request_info).request_method = httpd_method_str(TG(hc)->method);  	SG(sapi_headers).http_response_code = 200;  	SG(request_info).content_type = TG(hc)->contenttype; | 
