Fixed querystring.parse().

The issue happened when the first eq symbol is located after the
separator, whereas it should be looked for only in the string segment
before the separator.

This fixes #349 issue on Github.
diff --git a/src/njs_query_string.c b/src/njs_query_string.c
index b7743e9..7f8d6b1 100644
--- a/src/njs_query_string.c
+++ b/src/njs_query_string.c
@@ -269,7 +269,7 @@
         return p;
     }
 
-    while (p < (end - length)) {
+    while (p <= (end - length)) {
         if (memcmp(p, v->start, length) == 0) {
             return p;
         }
@@ -402,7 +402,7 @@
             goto next;
         }
 
-        val = njs_query_string_match(key, end, &eq);
+        val = njs_query_string_match(key, part, &eq);
 
         size = val - key;
 
diff --git a/src/test/njs_unit_test.c b/src/test/njs_unit_test.c
index c48965c..0256d4a 100644
--- a/src/test/njs_unit_test.c
+++ b/src/test/njs_unit_test.c
@@ -17987,6 +17987,11 @@
       njs_str("{freespace:''}") },
 
     { njs_str("var qs = require('querystring');"
+              "var obj = qs.parse('name&value=12');"
+              "njs.dump(obj)"),
+      njs_str("{name:'',value:'12'}") },
+
+    { njs_str("var qs = require('querystring');"
               "var obj = qs.parse('baz=fuz&muz=tax', 'fuz');"
               "njs.dump(obj)"),
       njs_str("{baz:'',&muz:'tax'}") },