emacs-diffs
[Top][All Lists]
Advanced

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

master 48c562fb74: ; * src/image.c (svg_load_image): Another minor clean


From: Eli Zaretskii
Subject: master 48c562fb74: ; * src/image.c (svg_load_image): Another minor cleanup. (Bug#51104)
Date: Tue, 13 Sep 2022 10:13:18 -0400 (EDT)

branch: master
commit 48c562fb748623ed01385eaf215333a6c2edac80
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    ; * src/image.c (svg_load_image): Another minor cleanup.  (Bug#51104)
---
 src/image.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/image.c b/src/image.c
index 52fdf86138..551da71643 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11183,6 +11183,10 @@ svg_load_image (struct frame *f, struct image *img, 
char *contents,
   char *wrapped_contents = NULL;
   ptrdiff_t wrapped_size;
 
+  bool empty_errmsg = true;
+  const char *errmsg = "";
+  ptrdiff_t errlen = 0;
+
 #if LIBRSVG_CHECK_VERSION (2, 48, 0)
   char *css = NULL;
 #endif
@@ -11540,20 +11544,22 @@ svg_load_image (struct frame *f, struct image *img, 
char *contents,
   return true;
 
  rsvg_error:
-  if (!err || !err->message[0])
-    image_error ("Error parsing SVG image");
-  else
+  if (err && err->message[0])
     {
-      char *errmsg = err->message;
-      ptrdiff_t errlen = strlen (errmsg);
-
+      errmsg = err->message;
+      errlen = strlen (errmsg);
       /* Remove trailing whitespace from the error message text.  It
         has a newline at the end, and perhaps more whitespace.  */
-      while (c_isspace (errmsg[errlen - 1]))
+      while (errlen && c_isspace (errmsg[errlen - 1]))
        errlen--;
-      image_error ("Error parsing SVG image: %s", make_string (errmsg, 
errlen));
+      empty_errmsg = errlen == 0;
     }
 
+  if (empty_errmsg)
+    image_error ("Error parsing SVG image");
+  else
+    image_error ("Error parsing SVG image: %s", make_string (errmsg, errlen));
+
   if (err)
     g_error_free (err);
 



reply via email to

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