소스 검색

refactor: tidy和cppcheck对代码进行审查

RyanCW 9 달 전
부모
커밋
9e6e10bf77
2개의 변경된 파일24개의 추가작업 그리고 24개의 파일을 삭제
  1. 7 9
      RyanJson/RyanJson.c
  2. 17 15
      RyanJson/RyanJson.h

+ 7 - 9
RyanJson/RyanJson.c

@@ -420,7 +420,7 @@ static RyanJsonBool RyanJsonParseNumber(parseBuffer *buf, char *key, RyanJson_t
         if (NULL == newItem)
         if (NULL == newItem)
             return RyanJsonFalse;
             return RyanJsonFalse;
 
 
-        RyanJsonGetIntValue(newItem) = (int32_t)sign * number;
+        RyanJsonGetIntValue(newItem) = (int32_t)(sign * number);
     }
     }
     else
     else
     {
     {
@@ -856,7 +856,7 @@ static RyanJsonBool RyanJsonParseValue(parseBuffer *buf, char *key, RyanJson_t *
  */
  */
 static RyanJsonBool RyanJsonPrintNumber(RyanJson_t pJson, printBuffer *buf)
 static RyanJsonBool RyanJsonPrintNumber(RyanJson_t pJson, printBuffer *buf)
 {
 {
-    double f = 0;
+    double f;
     int32_t len = 0;
     int32_t len = 0;
 
 
     // RyanJsonNumber 类型是一个整数
     // RyanJsonNumber 类型是一个整数
@@ -1313,12 +1313,10 @@ char *RyanJsonPrintPreallocated(RyanJson_t pJson, char *buffer, uint32_t length,
 
 
     printBuffer buf = {0};
     printBuffer buf = {0};
 
 
-    if (NULL == pJson || NULL == buffer || length <= 0)
+    if (NULL == pJson || NULL == buffer)
         return NULL;
         return NULL;
 
 
     buf.address = (char *)buffer;
     buf.address = (char *)buffer;
-    if (NULL == buf.address)
-        return NULL;
     buf.noalloc = RyanJsonTrue;
     buf.noalloc = RyanJsonTrue;
     buf.size = length;
     buf.size = length;
     buf.end = 0;
     buf.end = 0;
@@ -1429,7 +1427,7 @@ RyanJson_t RyanJsonGetObjectByIndex(RyanJson_t pJson, int32_t index)
 RyanJson_t RyanJsonGetObjectByIndexs(RyanJson_t pJson, int32_t index, ...)
 RyanJson_t RyanJsonGetObjectByIndexs(RyanJson_t pJson, int32_t index, ...)
 {
 {
     RyanJson_t nextItem = NULL;
     RyanJson_t nextItem = NULL;
-    va_list args = {0};
+    va_list args;
     int32_t i = index;
     int32_t i = index;
 
 
     if (NULL == pJson || index < 0)
     if (NULL == pJson || index < 0)
@@ -1489,8 +1487,8 @@ RyanJson_t RyanJsonGetObjectByKey(RyanJson_t pJson, const char *key)
 RyanJson_t RyanJsonGetObjectByKeys(RyanJson_t pJson, char *key, ...)
 RyanJson_t RyanJsonGetObjectByKeys(RyanJson_t pJson, char *key, ...)
 {
 {
     RyanJson_t nextItem = NULL;
     RyanJson_t nextItem = NULL;
-    va_list args = {0};
-    char *s = key;
+    va_list args;
+    const char *s = key;
 
 
     if (NULL == pJson || NULL == key)
     if (NULL == pJson || NULL == key)
         return NULL;
         return NULL;
@@ -2286,7 +2284,7 @@ RyanJsonBool RyanJsonCompare(RyanJson_t a, RyanJson_t b)
         if (RyanJsonTrue == RyanJsonIsInt(a) && RyanJsonTrue == RyanJsonIsInt(b))
         if (RyanJsonTrue == RyanJsonIsInt(a) && RyanJsonTrue == RyanJsonIsInt(b))
             return RyanJsonGetIntValue(a) == RyanJsonGetIntValue(b) ? RyanJsonTrue : RyanJsonFalse;
             return RyanJsonGetIntValue(a) == RyanJsonGetIntValue(b) ? RyanJsonTrue : RyanJsonFalse;
 
 
-        else if (RyanJsonTrue == RyanJsonIsDouble(a) && RyanJsonTrue == RyanJsonIsDouble(b))
+        if (RyanJsonTrue == RyanJsonIsDouble(a) && RyanJsonTrue == RyanJsonIsDouble(b))
             return compare_double(RyanJsonGetDoubleValue(a), RyanJsonGetDoubleValue(b));
             return compare_double(RyanJsonGetDoubleValue(a), RyanJsonGetDoubleValue(b));
 
 
         return RyanJsonFalse;
         return RyanJsonFalse;

+ 17 - 15
RyanJson/RyanJson.h

@@ -123,20 +123,6 @@ extern "C"
     RyanJsonBool RyanJsonDeleteByIndex(RyanJson_t pJson, int32_t index);
     RyanJsonBool RyanJsonDeleteByIndex(RyanJson_t pJson, int32_t index);
     RyanJsonBool RyanJsonDeleteByKey(RyanJson_t pJson, const char *key);
     RyanJsonBool RyanJsonDeleteByKey(RyanJson_t pJson, const char *key);
 
 
-#define RyanJsonAddNullToObject(pJson, key) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateNull(key))
-#define RyanJsonAddBoolToObject(pJson, key, boolean) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateBool(key, boolean))
-#define RyanJsonAddIntToObject(pJson, key, number) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateInt(key, number))
-#define RyanJsonAddDoubleToObject(pJson, key, number) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateDouble(key, number))
-#define RyanJsonAddStringToObject(pJson, key, string) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateString(key, string))
-#define RyanJsonAddItemToObject(pJson, key, item) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateItem(key, item))
-
-#define RyanJsonAddNullToArray(pJson) RyanJsonAddNullToObject(pJson, NULL)
-#define RyanJsonAddBoolToArray(pJson, boolean) RyanJsonAddBoolToObject(pJson, NULL, boolean)
-#define RyanJsonAddIntToArray(pJson, number) RyanJsonAddIntToObject(pJson, NULL, number)
-#define RyanJsonAddDoubleToArray(pJson, number) RyanJsonAddDoubleToObject(pJson, NULL, number)
-#define RyanJsonAddStringToArray(pJson, string) RyanJsonAddStringToObject(pJson, NULL, string)
-#define RyanJsonAddItemToArray(pJson, item) RyanJsonAddItemToObject(pJson, NULL, item)
-
     /**
     /**
      * @brief 查询函数
      * @brief 查询函数
      */
      */
@@ -161,7 +147,7 @@ extern "C"
 #define RyanJsonIsArray(pJson) returnJsonBool(RyanJsonGetType(pJson) & RyanJsonTypeArray)
 #define RyanJsonIsArray(pJson) returnJsonBool(RyanJsonGetType(pJson) & RyanJsonTypeArray)
 #define RyanJsonIsObject(pJson) returnJsonBool(RyanJsonGetType(pJson) & RyanJsonTypeObject)
 #define RyanJsonIsObject(pJson) returnJsonBool(RyanJsonGetType(pJson) & RyanJsonTypeObject)
 
 
-//! get函数使用前建议RyanJsonIsXXXX宏做好判断
+//! get value函数使用前建议RyanJsonIsXXXX宏做好判断
 #define RyanJsonGetKey(pJson) (*(char **)((RyanJson_t)(pJson) + 1))
 #define RyanJsonGetKey(pJson) (*(char **)((RyanJson_t)(pJson) + 1))
 #define RyanJsonGetNullValue(pJson) (NULL)
 #define RyanJsonGetNullValue(pJson) (NULL)
 #define RyanJsonGetBoolValue(pJson) (RyanJsonGetInfo(pJson) & RyanJsonValueBoolTrueFlag ? RyanJsonTrue : RyanJsonFalse)
 #define RyanJsonGetBoolValue(pJson) (RyanJsonGetInfo(pJson) & RyanJsonValueBoolTrueFlag ? RyanJsonTrue : RyanJsonFalse)
@@ -173,6 +159,22 @@ extern "C"
 
 
 #define RyanJsonGetArraySize(pJson) RyanJsonGetSize(pJson)
 #define RyanJsonGetArraySize(pJson) RyanJsonGetSize(pJson)
 
 
+//! add函数使用前建议RyanJsonIsXXXX宏判断是否是对象 / 数组
+#define RyanJsonAddNullToObject(pJson, key) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateNull(key))
+#define RyanJsonAddBoolToObject(pJson, key, boolean) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateBool(key, boolean))
+#define RyanJsonAddIntToObject(pJson, key, number) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateInt(key, number))
+#define RyanJsonAddDoubleToObject(pJson, key, number) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateDouble(key, number))
+#define RyanJsonAddStringToObject(pJson, key, string) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateString(key, string))
+#define RyanJsonAddItemToObject(pJson, key, item) RyanJsonInsert(pJson, INT_MAX, RyanJsonCreateItem(key, item))
+
+#define RyanJsonAddNullToArray(pJson) RyanJsonAddNullToObject(pJson, NULL)
+#define RyanJsonAddBoolToArray(pJson, boolean) RyanJsonAddBoolToObject(pJson, NULL, boolean)
+#define RyanJsonAddIntToArray(pJson, number) RyanJsonAddIntToObject(pJson, NULL, number)
+#define RyanJsonAddDoubleToArray(pJson, number) RyanJsonAddDoubleToObject(pJson, NULL, number)
+#define RyanJsonAddStringToArray(pJson, string) RyanJsonAddStringToObject(pJson, NULL, string)
+#define RyanJsonAddItemToArray(pJson, item) RyanJsonAddItemToObject(pJson, NULL, item)
+
+// 便利函数
 #define RyanJsonArrayForEach(pJson, item) for ((item) = RyanJsonGetArrayValue(pJson); NULL != (item); (item) = (item)->next)
 #define RyanJsonArrayForEach(pJson, item) for ((item) = RyanJsonGetArrayValue(pJson); NULL != (item); (item) = (item)->next)
 #define RyanJsonObjectForEach(pJson, item) for ((item) = RyanJsonGetObjectValue(pJson); NULL != (item); (item) = (item)->next)
 #define RyanJsonObjectForEach(pJson, item) for ((item) = RyanJsonGetObjectValue(pJson); NULL != (item); (item) = (item)->next)