@@ -54,6 +54,7 @@ ESP8266WebServerTemplate<ServerType>::ESP8266WebServerTemplate(IPAddress addr, i
5454, _lastHandler(nullptr )
5555, _currentArgCount(0 )
5656, _currentArgs(nullptr )
57+ , _currentArgsHavePlain(0 )
5758, _postArgsLen(0 )
5859, _postArgs(nullptr )
5960, _headerKeysCount(0 )
@@ -76,6 +77,7 @@ ESP8266WebServerTemplate<ServerType>::ESP8266WebServerTemplate(int port)
7677, _lastHandler(nullptr )
7778, _currentArgCount(0 )
7879, _currentArgs(nullptr )
80+ , _currentArgsHavePlain(0 )
7981, _postArgsLen(0 )
8082, _postArgs(nullptr )
8183, _headerKeysCount(0 )
@@ -565,7 +567,7 @@ const String& ESP8266WebServerTemplate<ServerType>::arg(const String& name) cons
565567    if  ( _postArgs[j].key  == name )
566568      return  _postArgs[j].value ;
567569  }
568-   for  (int  i = 0 ; i < _currentArgCount; ++i) {
570+   for  (int  i = 0 ; i < _currentArgCount + _currentArgsHavePlain ; ++i) {
569571    if  ( _currentArgs[i].key  == name )
570572      return  _currentArgs[i].value ;
571573  }
@@ -574,14 +576,14 @@ const String& ESP8266WebServerTemplate<ServerType>::arg(const String& name) cons
574576
575577template  <typename  ServerType>
576578const  String& ESP8266WebServerTemplate<ServerType>::arg(int  i) const  {
577-   if  (i >= 0  && i < _currentArgCount)
579+   if  (i >= 0  && i < _currentArgCount + _currentArgsHavePlain )
578580    return  _currentArgs[i].value ;
579581  return  emptyString;
580582}
581583
582584template  <typename  ServerType>
583585const  String& ESP8266WebServerTemplate<ServerType>::argName(int  i) const  {
584-   if  (i >= 0  && i < _currentArgCount)
586+   if  (i >= 0  && i < _currentArgCount + _currentArgsHavePlain )
585587    return  _currentArgs[i].key ;
586588  return  emptyString;
587589}
@@ -597,7 +599,7 @@ bool ESP8266WebServerTemplate<ServerType>::hasArg(const String& name) const {
597599    if  (_postArgs[j].key  == name)
598600      return  true ;
599601  }
600-   for  (int  i = 0 ; i < _currentArgCount; ++i) {
602+   for  (int  i = 0 ; i < _currentArgCount + _currentArgsHavePlain ; ++i) {
601603    if  (_currentArgs[i].key  == name)
602604      return  true ;
603605  }
0 commit comments