فهرست منبع

refactor cJSONUtils_PointerEncodedstrlen

Max Bruckner 8 سال پیش
والد
کامیت
b8e3673d0f
1فایلهای تغییر یافته به همراه8 افزوده شده و 6 حذف شده
  1. 8 6
      cJSON_Utils.c

+ 8 - 6
cJSON_Utils.c

@@ -107,18 +107,20 @@ static int cJSONUtils_Pstrcasecmp(const unsigned char *name, const unsigned char
     return 0;
 }
 
-static size_t cJSONUtils_PointerEncodedstrlen(const unsigned char *s)
+/* calculate the length of a string if encoded as JSON pointer with ~0 and ~1 escape sequences */
+static size_t cJSONUtils_PointerEncodedstrlen(const unsigned char *string)
 {
-    size_t l = 0;
-    for (; *s; (void)s++, l++)
+    size_t length;
+    for (length = 0; *string != '\0'; (void)string++, length++)
     {
-        if ((*s == '~') || (*s == '/'))
+        /* character needs to be escaped? */
+        if ((*string == '~') || (*string == '/'))
         {
-            l++;
+            length++;
         }
     }
 
-    return l;
+    return length;
 }
 
 static void cJSONUtils_PointerEncodedstrcpy(unsigned char *d, const unsigned char *s)