]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[FS-11092] #resolve add cJSON_isTrue
authorSeven Du <dujinfang@x-y-t.cn>
Thu, 5 Apr 2018 07:44:35 +0000 (15:44 +0800)
committerMuteesa Fred <muteesafred@hotmail.com>
Tue, 24 Jul 2018 07:21:50 +0000 (07:21 +0000)
src/include/switch_json.h

index 34ce5a05f979486619fe2d1c53c56e48a3f001e7..03ee0beae83b9367e4d74873d32365d3354c2b93 100644 (file)
@@ -93,6 +93,31 @@ static inline cJSON *json_add_child_string(cJSON *json, const char *name, const
        return new_json;
 }
 
+static inline int cJSON_isTrue(cJSON *json)
+{
+       if (!json) return 0;
+
+       if (json->type == cJSON_True) return 1;
+
+       if (json->type == cJSON_String && (
+               !strcasecmp(json->valuestring, "yes") ||
+               !strcasecmp(json->valuestring, "on") ||
+               !strcasecmp(json->valuestring, "true") ||
+               !strcasecmp(json->valuestring, "t") ||
+               !strcasecmp(json->valuestring, "enabled") ||
+               !strcasecmp(json->valuestring, "active") ||
+               !strcasecmp(json->valuestring, "allow") ||
+               atoi(json->valuestring))) {
+               return 1;
+       }
+
+       if (json->type == cJSON_Number && (json->valueint || json->valuedouble)) {
+               return 1;
+       }
+
+       return 0;
+}
+
 #ifdef __cplusplus
 }
 #endif