From 5620679e80b2489358d0bdcb90e03ca5f530dbde Mon Sep 17 00:00:00 2001 From: JAJames Date: Sun, 14 Feb 2016 16:09:39 -0500 Subject: [PATCH] Single-character values in HTML get forms are now processed correctly when at the end of the query string. --- Jupiter/HTTP_QueryString.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Jupiter/HTTP_QueryString.h b/Jupiter/HTTP_QueryString.h index 4756cb1..245c581 100644 --- a/Jupiter/HTTP_QueryString.h +++ b/Jupiter/HTTP_QueryString.h @@ -185,7 +185,15 @@ inline Jupiter::HTTP::HTMLFormResponse::HTMLFormResponse(const char *ptr, size_t // copy last 2 characters *buf = *ptr; - *++buf = *++ptr; + + if (*buf == '=') // End of key, start of value + { + key.set(token_start, ++buf - token_start); + *buf = *++ptr; + Jupiter::HTTP::HTMLFormResponse::table.set(key, Jupiter::ReferenceString(ptr, 1)); + } + else + *++buf = *++ptr; if (key.isNotEmpty()) // A key was already set; end of value Jupiter::HTTP::HTMLFormResponse::table.set(key, Jupiter::ReferenceString(token_start, buf - token_start + 1));