Просмотр исходного кода

Merge pull request #36 from ueJone/master

修复Post数据重复解码的问题
xiangxistu 3 лет назад
Родитель
Сommit
56adbe912c
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      src/wn_request.c

+ 8 - 2
src/wn_request.c

@@ -100,16 +100,22 @@ static void _webnet_request_parse_query(struct webnet_request* request)
                 *ptr = '\0';
                 ptr ++;
                 request->query_items[index].value = ptr;
-                urldecode(request->query_items[index].value, strlen(request->query_items[index].value));
             }
             else ptr ++;
         }
 
-        if (*ptr == '\0') break;
+        if (*ptr == '\0')
+        {
+            urldecode(request->query_items[index].value, ptr - request->query_items[index].value);
+            break;
+        }
+        
         if (*ptr == '&')
         {
             /* make a item */
             *ptr = '\0';
+            urldecode(request->query_items[index].value, ptr - request->query_items[index].value);
+            
             ptr ++;
             while (*ptr == '&' && *ptr != '\0' && ptr <= end_ptr)ptr ++;
             if (*ptr == '\0') break;