add: if (p != NULL) { *p++ = '&'; }
context: ParseQuery(char *form, Ns_Set *set, Tcl_Encoding encoding){    char *p, *k, *v;    Tcl_DString      kds, vds;    Tcl_DStringInit(&kds);    Tcl_DStringInit(&vds);    p = form;    while (p != NULL) {	k = p;	p = strchr(p, '&');	if (p != NULL) {	    *p++ = '\0';	}	v = strchr(k, '=');	if (v != NULL) {	    *v = '\0';	}	k = Decode(&kds, k, encoding);	if (v != NULL) {	    Decode(&vds, v+1, encoding);	    *v = '=';	    v = vds.string;	}	Ns_SetPut(set, k, v);    }    Tcl_DStringFree(&kds);    Tcl_DStringFree(&vds);}