summaryrefslogtreecommitdiff
path: root/libproxy/modules/wpad_dns_alias.cpp
diff options
context:
space:
mode:
authornicolas.dufresne@gmail.com <nicolas.dufresne@gmail.com@c587cffe-e639-0410-9787-d7902ae8ed56>2012-07-05 16:01:12 +0000
committernicolas.dufresne@gmail.com <nicolas.dufresne@gmail.com@c587cffe-e639-0410-9787-d7902ae8ed56>2012-07-05 16:01:12 +0000
commit61048ad16366884c6a9b908a90fb56c875fe46c7 (patch)
treeb1c3384447f88766ab15579f536bfabc9201007f /libproxy/modules/wpad_dns_alias.cpp
parent75d11a34620966a07638337959aa8cd8c9d89893 (diff)
downloadlibproxy-61048ad16366884c6a9b908a90fb56c875fe46c7.tar.gz
Allow multiple result to be returned from static config
git-svn-id: http://libproxy.googlecode.com/svn/trunk@842 c587cffe-e639-0410-9787-d7902ae8ed56
Diffstat (limited to 'libproxy/modules/wpad_dns_alias.cpp')
-rw-r--r--libproxy/modules/wpad_dns_alias.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/libproxy/modules/wpad_dns_alias.cpp b/libproxy/modules/wpad_dns_alias.cpp
index ca89c36..449d8ee 100644
--- a/libproxy/modules/wpad_dns_alias.cpp
+++ b/libproxy/modules/wpad_dns_alias.cpp
@@ -22,9 +22,15 @@ using namespace libproxy;
class dns_alias_wpad_extension : public wpad_extension {
public:
- dns_alias_wpad_extension() { rewind(); }
- bool found() { return lastpac != NULL; }
- void rewind() { lasturl = NULL; lastpac = NULL; }
+ dns_alias_wpad_extension() : lasturl(NULL), lastpac(NULL) { }
+ bool found() { return lastpac != NULL; }
+
+ void rewind() {
+ if (lasturl) delete lasturl;
+ if (lastpac) delete lastpac;
+ lasturl = NULL;
+ lastpac = NULL;
+ }
url* next(char** pac) {
if (lasturl) return false;
@@ -32,8 +38,8 @@ public:
lasturl = new url("http://wpad/wpad.dat");
lastpac = *pac = lasturl->get_pac();
if (!lastpac) {
- delete lasturl;
- return NULL;
+ delete lasturl;
+ return NULL;
}
return lasturl;