Compare commits
2 Commits
master
...
feature/Ur
Author | SHA1 | Date |
---|---|---|
Kenneth Barbour | da788a4860 | |
Kenneth Barbour | 9c2520dcf3 |
|
@ -7,10 +7,10 @@
|
|||
*/
|
||||
QueryString::QueryString(const char* query) : n(0)
|
||||
{
|
||||
if (query[0] == '\0') return;
|
||||
if (query == nullptr || query[0] == '\0') return;
|
||||
|
||||
// create buffer
|
||||
buffer_length = urlenc::decoded_length(query) + 1;
|
||||
buffer_length = urlenc::decoded_length(query) + 2;
|
||||
buffer = (char*) malloc(buffer_length);
|
||||
|
||||
// create fields
|
||||
|
@ -116,6 +116,8 @@ size_t QueryString::str_count_fields(const char* query)
|
|||
|
||||
QueryString::~QueryString()
|
||||
{
|
||||
free(buffer);
|
||||
free(fields);
|
||||
if (n) {
|
||||
free(buffer);
|
||||
free(fields);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -91,3 +91,15 @@ TEST_CASE("str_count_fields", "[QueryString][str_count_fields]")
|
|||
CHECK(QueryString::str_count_fields("foo=bar&baz=qux") == 2);
|
||||
CHECK(QueryString::str_count_fields("foo&bar&foo&bar") == 4);
|
||||
}
|
||||
|
||||
TEST_CASE("empty string", "[QueryString][QueryString-empty]")
|
||||
{
|
||||
QueryString qs("");
|
||||
CHECK(qs.count() == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("constructor with nullptr", "[QueryString-nullptr]")
|
||||
{
|
||||
QueryString qs(nullptr);
|
||||
CHECK(qs.count() == 0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue