]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix last change in image.c
authorEli Zaretskii <eliz@gnu.org>
Tue, 13 Sep 2022 13:26:50 +0000 (16:26 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 13 Sep 2022 13:26:50 +0000 (16:26 +0300)
* src/image.c (svg_load_image): Don't call Lisp to remove trailing
whitespace from librsvg error messages, do it in C instead; this
reduces consing and is much cleaner.  Don't display empty error
reason if librsvg happens to return an empty message text.
(syms_of_image): Don't DEFSYM string-trim-right.  (Bug#57755)

src/image.c

index 2e04685e7f92ea5da98f8f5b34d6c157bccf61a8..b1d597d721328d2a0e63a32f839f5517102945ff 100644 (file)
@@ -11540,13 +11540,18 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
   return true;
 
  rsvg_error:
-  if (err == NULL)
+  if (!err || !err->message[0])
     image_error ("Error parsing SVG image");
   else
     {
-      image_error ("Error parsing SVG image: %s",
-                  call2 (Qstring_trim_right, build_string (err->message),
-                         Qnil));
+      char *errmsg = err->message;
+      ptrdiff_t 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]))
+       errlen--;
+      image_error ("Error parsing SVG image: %s", make_string (errmsg, errlen));
       g_error_free (err);
     }
 
@@ -12272,6 +12277,4 @@ The options are:
   /* MagickExportImagePixels is in 6.4.6-9, but not 6.4.4-10.  */
   imagemagick_render_type = 0;
 #endif
-
-  DEFSYM (Qstring_trim_right, "string-trim-right");
 }