Mailing List Archive

svn commit: r1481318 - /perl/embperl/trunk/epinit.c
Author: richter
Date: Sat May 11 12:59:43 2013
New Revision: 1481318

URL: http://svn.apache.org/r1481318
Log:
Fix problem with = in query string value

Modified:
perl/embperl/trunk/epinit.c

Modified: perl/embperl/trunk/epinit.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epinit.c?rev=1481318&r1=1481317&r2=1481318&view=diff
==============================================================================
--- perl/embperl/trunk/epinit.c (original)
+++ perl/embperl/trunk/epinit.c Sat May 11 12:59:43 2013
@@ -1026,6 +1026,7 @@ static int embperl_GetFormData (/*i/o*/
bool bNoUtf8 = (r -> Config.bOptions & optFormDataNoUtf8) != 0 ;
bool bDebug = (r -> Config.bDebug & dbgForm) != 0 ;
int mayutf8 = 0 ;
+ bool bInValue = false ;
char c ;
epTHX ;

@@ -1073,16 +1074,9 @@ static int embperl_GetFormData (/*i/o*/
}
*p++ = num ;
break ;
- case '=':
- nKey = p - pKey ;
- *p++ = r -> Config.cMultFieldSep ;
- nVal = 0 ;
- pVal = p ;
- pQueryString++ ;
- nLen-- ;
- break ;
case ';':
case '&':
+ bInValue = false ;
pQueryString++ ;
nLen-- ;
case '\0':
@@ -1159,6 +1153,19 @@ static int embperl_GetFormData (/*i/o*/


break ;
+ case '=':
+ if (!bInValue)
+ {
+ nKey = p - pKey ;
+ *p++ = r -> Config.cMultFieldSep ;
+ nVal = 0 ;
+ pVal = p ;
+ pQueryString++ ;
+ nLen-- ;
+ bInValue = true ;
+ break ;
+ }
+ /* fall through */
default:
c = *p++ = *pQueryString++ ;
nLen-- ;



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org