diff options
Diffstat (limited to 'sca-cpp/trunk/modules/http/http.hpp')
-rw-r--r-- | sca-cpp/trunk/modules/http/http.hpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sca-cpp/trunk/modules/http/http.hpp b/sca-cpp/trunk/modules/http/http.hpp index 5cf174f4e1..530f3c0c5c 100644 --- a/sca-cpp/trunk/modules/http/http.hpp +++ b/sca-cpp/trunk/modules/http/http.hpp @@ -869,8 +869,11 @@ const failable<size_t> recv(char* c, const size_t l, const CURLSession& cs) { ostringstream& queryString(const list<list<value> > args, ostringstream& os) { if (isNil(args)) return os; - debug(car(args), "http::queryString::arg"); - os << car(car(args)) << "=" << c_str(cadr(car(args))); + const list<value> arg = car(args); + debug(arg, "http::queryString::arg"); + if (isNil(arg) || isNil(cdr(arg))) + return queryString(cdr(args), os); + os << car(arg) << "=" << c_str(cadr(arg)); if (!isNil(cdr(args))) os << "&"; return queryString(cdr(args), os); |