[pulseaudio-discuss] [PATCH 2/4] format: Use json_object_object_get_ex() instead of deprecated json_object_object_get()

Peter Meerwald pmeerw at pmeerw.net
Mon Aug 18 05:47:25 PDT 2014


From: Peter Meerwald <p.meerwald at bct-electronic.com>

pulse/format.c: In function 'pa_format_info_get_prop_type':
pulse/format.c:252:5: warning: implicit declaration of function 'is_error' [-Wimplicit-function-declaration]
pulse/format.c:287:13: warning: 'json_object_object_get' is deprecated (declared at /usr/local/include/json-c/json_object.h:290) [-Wdeprecated-declarations]
pulse/format.c:293:13: warning: 'json_object_object_get' is deprecated (declared at /usr/local/include/json-c/json_object.h:290) [-Wdeprecated-declarations]
pulse/format.c: In function 'pa_format_info_get_prop_int_range':
pulse/format.c:364:5: warning: 'json_object_object_get' is deprecated (declared at /usr/local/include/json-c/json_object.h:290) [-Wdeprecated-declarations]
pulse/format.c:369:5: warning: 'json_object_object_get' is deprecated (declared at /usr/local/include/json-c/json_object.h:290) [-Wdeprecated-declarations]
pulse/format.c: In function 'pa_format_info_prop_compatible':
pulse/format.c:676:9: warning: 'json_object_object_get' is deprecated (declared at /usr/local/include/json-c/json_object.h:290) [-Wdeprecated-declarations]
pulse/format.c:680:9: warning: 'json_object_object_get' is deprecated (declared at /usr/local/include/json-c/json_object.h:290) [-Wdeprecated-declarations]

json-c 0.10 (released 20120530) added json_object_object_get_ex()
json-c 0.12 (released 20140410) deprecated json_object_object_get()

PulseAudio depends on json 0.9 or json-c 0.11, drop support for json 0.9
in a subsequent patch and require json-c 0.11 (this will also avoids confusion
which json package is needed due to the upstream rename)

Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
---
 src/pulse/format.c |   18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/pulse/format.c b/src/pulse/format.c
index a61ba37..995e3df 100644
--- a/src/pulse/format.c
+++ b/src/pulse/format.c
@@ -284,14 +284,12 @@ pa_prop_type_t pa_format_info_get_prop_type(const pa_format_info *f, const char
         case json_type_object:
             /* We actually know at this point that it's a int range, but let's
              * confirm. */
-            o1 = json_object_object_get(o, PA_JSON_MIN_KEY);
-            if (!o1) {
+            if (!json_object_object_get_ex(o, PA_JSON_MIN_KEY, NULL)) {
                 type = PA_PROP_TYPE_INVALID;
                 break;
             }
 
-            o1 = json_object_object_get(o, PA_JSON_MAX_KEY);
-            if (!o1) {
+            if (!json_object_object_get_ex(o, PA_JSON_MAX_KEY, NULL) {
                 type = PA_PROP_TYPE_INVALID;
                 break;
             }
@@ -361,12 +359,12 @@ int pa_format_info_get_prop_int_range(const pa_format_info *f, const char *key,
     if (json_object_get_type(o) != json_type_object)
         goto out;
 
-    if (!(o1 = json_object_object_get(o, PA_JSON_MIN_KEY)))
+    if (!json_object_object_get_ex(o, PA_JSON_MIN_KEY, &o1))
         goto out;
 
     *min = json_object_get_int(o1);
 
-    if (!(o1 = json_object_object_get(o, PA_JSON_MAX_KEY)))
+    if (!json_object_object_get_ex(o, PA_JSON_MAX_KEY, &o1))
         goto out;
 
     *max = json_object_get_int(o1);
@@ -673,12 +671,12 @@ static int pa_format_info_prop_compatible(const char *one, const char *two) {
             goto out;
         }
 
-        o_min = json_object_object_get(o1, PA_JSON_MIN_KEY);
-        if (!o_min || json_object_get_type(o_min) != json_type_int)
+        if (!json_object_object_get_ex(o1, PA_JSON_MIN_KEY, &o_min) ||
+            json_object_get_type(o_min) != json_type_int)
             goto out;
 
-        o_max = json_object_object_get(o1, PA_JSON_MAX_KEY);
-        if (!o_max || json_object_get_type(o_max) != json_type_int)
+        if (!json_object_object_get_ex(o1, PA_JSON_MAX_KEY, &o_max) ||
+            json_object_get_type(o_max) != json_type_int)
             goto out;
 
         v = json_object_get_int(o2);
-- 
1.7.9.5



More information about the pulseaudio-discuss mailing list