emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master aa8859d 2/2: Signal an error in json.c function if not available


From: Lars Ingebrigtsen
Subject: master aa8859d 2/2: Signal an error in json.c function if not available
Date: Tue, 20 Jul 2021 08:47:16 -0400 (EDT)

branch: master
commit aa8859d0cb94358cf81d3811953876261512b7eb
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Signal an error in json.c function if not available
    
    * src/json.c (Fjson_serialize, Fjson_insert)
    (Fjson_parse_string, Fjson_parse_buffer, syms_of_json): Signal
    `json-unavailable' if jansson isn't available (bug#48228).
---
 src/json.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/src/json.c b/src/json.c
index 3f1d27a..b0779b9 100644
--- a/src/json.c
+++ b/src/json.c
@@ -595,10 +595,8 @@ usage: (json-serialize OBJECT &rest ARGS)  */)
       Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache);
     }
   if (!json_initialized)
-    {
-      message1 ("jansson library not found");
-      return Qnil;
-    }
+    Fsignal (Qjson_unavailable,
+            list1 (build_unibyte_string ("jansson library not found")));
 #endif
 
   struct json_configuration conf =
@@ -706,10 +704,8 @@ usage: (json-insert OBJECT &rest ARGS)  */)
       Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache);
     }
   if (!json_initialized)
-    {
-      message1 ("jansson library not found");
-      return Qnil;
-    }
+    Fsignal (Qjson_unavailable,
+            list1 (build_unibyte_string ("jansson library not found")));
 #endif
 
   struct json_configuration conf =
@@ -965,10 +961,8 @@ usage: (json-parse-string STRING &rest ARGS) */)
       Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache);
     }
   if (!json_initialized)
-    {
-      message1 ("jansson library not found");
-      return Qnil;
-    }
+    Fsignal (Qjson_unavailable,
+            list1 (build_unibyte_string ("jansson library not found")));
 #endif
 
   Lisp_Object string = args[0];
@@ -1064,10 +1058,8 @@ usage: (json-parse-buffer &rest args) */)
       Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache);
     }
   if (!json_initialized)
-    {
-      message1 ("jansson library not found");
-      return Qnil;
-    }
+    Fsignal (Qjson_unavailable,
+            list1 (build_unibyte_string ("jansson library not found")));
 #endif
 
   struct json_configuration conf =
@@ -1129,6 +1121,7 @@ syms_of_json (void)
   DEFSYM (Qjson_end_of_file, "json-end-of-file");
   DEFSYM (Qjson_trailing_content, "json-trailing-content");
   DEFSYM (Qjson_object_too_deep, "json-object-too-deep");
+  DEFSYM (Qjson_unavailable, "json-unavailable");
   define_error (Qjson_error, "generic JSON error", Qerror);
   define_error (Qjson_out_of_memory,
                 "not enough memory for creating JSON object", Qjson_error);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]