[PATCH] Treat external data as such in glyphs-eimage.c

Aidan Kehoe kehoea at parhasard.net
Tue Nov 28 12:20:52 EST 2006




src/ChangeLog addition:

2006-11-28  Aidan Kehoe  <kehoea at parhasard.net>

	* glyphs-eimage.c (png_warning_func):
	* glyphs-eimage.c (png_instantiate):
	* glyphs-eimage.c (tiff_warning_func):
	Decode external binary data as such before passing it to
	warn_when_safe(). 


XEmacs Trunk source patch:
Diff command:   cvs -q diff -u
Files affected: src/glyphs-eimage.c
===================================================================
RCS

Index: src/glyphs-eimage.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/glyphs-eimage.c,v
retrieving revision 1.27
diff -u -r1.27 glyphs-eimage.c
--- src/glyphs-eimage.c	2005/11/26 11:46:08	1.27
+++ src/glyphs-eimage.c	2006/11/28 17:14:24
@@ -827,7 +827,10 @@
 static void
 png_warning_func (png_structp UNUSED (png_ptr), png_const_charp msg)
 {
-  warn_when_safe (Qpng, Qinfo, "%s", msg);
+  DECLARE_EISTRING (eimsg);
+
+  eicpy_ext(eimsg, msg, Qbinary);  
+  warn_when_safe (Qpng, Qinfo, "%s", eidata(eimsg));
 }
 
 struct png_unwind_data
@@ -1018,16 +1021,21 @@
        unobtrusive. */
     {
       int i;
+      DECLARE_EISTRING (key);
+      DECLARE_EISTRING (text);
 
       for (i = 0 ; i < info_ptr->num_text ; i++)
 	{
 	  /* How paranoid do I have to be about no trailing NULLs, and
 	     using (int)info_ptr->text[i].text_length, and strncpy and a temp
 	     string somewhere? */
+          eireset(key);
+          eireset(text);
+          eicpy_ext(key, info_ptr->text[i].key, Qbinary);
+          eicpy_ext(text, info_ptr->text[i].text, Qbinary);
 
 	  warn_when_safe (Qpng, Qinfo, "%s - %s",
-			  info_ptr->text[i].key,
-			  info_ptr->text[i].text);
+			  eidata(key), eidata(text));
 	}
     }
 #endif
@@ -1221,6 +1229,8 @@
 #else
   char warn_str[1024];
 #endif
+  DECLARE_EISTRING (eimodule);
+  DECLARE_EISTRING (eiwarnstr);
 
   va_start (vargs, fmt);
 #ifdef HAVE_VSNPRINTF
@@ -1229,8 +1239,13 @@
   vsprintf (warn_str, fmt, vargs);
 #endif
   va_end (vargs);
+
+  eicpy_ext(eimodule, module, Qbinary);  
+  eicpy_ext(eiwarnstr, warn_str, Qbinary);  
+
   warn_when_safe (Qtiff, Qinfo, "%s - %s",
-		  module, warn_str);
+                  eidata(eimodule), 
+                  eidata(eiwarnstr));
 }
 
 static void

-- 
Santa Maradona, priez pour moi!



More information about the XEmacs-Patches mailing list