projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
- Add missing .cvsignore file
[m6w6/ext-http]
/
http_url_api.c
diff --git
a/http_url_api.c
b/http_url_api.c
index 83d295af4f58e92eb37c811fffcd6095c171c9a5..d3f32e7aff687074b6c81e3d79dfe84e1b5be30a 100644
(file)
--- a/
http_url_api.c
+++ b/
http_url_api.c
@@
-18,21
+18,20
@@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-
#include "php.h"
#include "php.h"
+
+#include "SAPI.h"
#include "zend_ini.h"
#include "php_output.h"
#include "ext/standard/url.h"
#include "zend_ini.h"
#include "php_output.h"
#include "ext/standard/url.h"
-#include "SAPI.h"
-
-#include "phpstr/phpstr.h"
-
#include "php_http.h"
#include "php_http_api.h"
#include "php_http_url_api.h"
#include "php_http_std_defs.h"
#include "php_http.h"
#include "php_http_api.h"
#include "php_http_url_api.h"
#include "php_http_std_defs.h"
+#include "phpstr/phpstr.h"
+
#ifdef PHP_WIN32
# include <winsock2.h>
#elif defined(HAVE_NETDB_H)
#ifdef PHP_WIN32
# include <winsock2.h>
#elif defined(HAVE_NETDB_H)
@@
-51,10
+50,10
@@
PHP_HTTP_API char *_http_absolute_url_ex(
#if defined(PHP_WIN32) || defined(HAVE_NETDB_H)
struct servent *se;
#endif
#if defined(PHP_WIN32) || defined(HAVE_NETDB_H)
struct servent *se;
#endif
- php_url *purl
, furl = {NULL}
;
+ php_url *purl
= NULL, furl
;
size_t full_len = 0;
zval *zhost = NULL;
size_t full_len = 0;
zval *zhost = NULL;
- char *scheme = NULL, *
URL = ecalloc(1, HTTP_URI_MAXLEN + 1)
;
+ char *scheme = NULL, *
uri, *URL
;
if ((!url || !url_len) && (
(!(url = SG(request_info).request_uri)) ||
if ((!url || !url_len) && (
(!(url = SG(request_info).request_uri)) ||
@@
-63,7
+62,9
@@
PHP_HTTP_API char *_http_absolute_url_ex(
return NULL;
}
return NULL;
}
- if (!(purl = php_url_parse((char *) url))) {
+ URL = ecalloc(1, HTTP_URI_MAXLEN + 1);
+ uri = estrndup(url, url_len);
+ if (!(purl = php_url_parse(uri))) {
http_error_ex(E_WARNING, HTTP_E_PARSE, "Could not parse supplied URL: %s", url);
return NULL;
}
http_error_ex(E_WARNING, HTTP_E_PARSE, "Could not parse supplied URL: %s", url);
return NULL;
}
@@
-123,6
+124,7
@@
PHP_HTTP_API char *_http_absolute_url_ex(
efree(scheme); \
} \
php_url_free(purl); \
efree(scheme); \
} \
php_url_free(purl); \
+ efree(uri); \
return URL; \
} else { \
strcat(URL, add_string); \
return URL; \
} else { \
strcat(URL, add_string); \
@@
-172,6
+174,7
@@
PHP_HTTP_API char *_http_absolute_url_ex(
efree(scheme);
}
php_url_free(purl);
efree(scheme);
}
php_url_free(purl);
+ efree(uri);
return URL;
}
return URL;
}