<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[141546] trunk/dports/editors/xemacs</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/141546">141546</a></dd>
<dt>Author</dt> <dd>dstrubbe@macports.org</dd>
<dt>Date</dt> <dd>2015-10-20 09:35:09 -0700 (Tue, 20 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>xemacs: Update to 21.5.16. Patches had to be adapted. Closes ticket #19833.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportseditorsxemacsPortfile">trunk/dports/editors/xemacs/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportseditorsxemacsfilespatchsrcglyphseimagecdiff">trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkdportseditorsxemacsfiles51ced9b8fb63e4be59ea611b58128c400e3df987diff">trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff</a></li>
<li><a href="#trunkdportseditorsxemacsfilesbcefd94fa6513d48f4dc8519f633b2df66b553bcdiff">trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportseditorsxemacsPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/editors/xemacs/Portfile (141545 => 141546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/editors/xemacs/Portfile        2015-10-20 16:24:46 UTC (rev 141545)
+++ trunk/dports/editors/xemacs/Portfile        2015-10-20 16:35:09 UTC (rev 141546)
</span><span class="lines">@@ -1,3 +1,4 @@
</span><ins>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</ins><span class="cx"> # $Id$
</span><span class="cx"> 
</span><span class="cx"> PortSystem      1.0
</span><span class="lines">@@ -4,52 +5,47 @@
</span><span class="cx"> 
</span><span class="cx"> name            xemacs
</span><span class="cx"> conflicts       emacs ctags
</span><del>-version         21.4.22
-revision        10
-set sumo_date   2009-02-17
</del><ins>+version         21.5.16
+set sumo_date   2010-07-27
</ins><span class="cx"> categories      editors x11
</span><span class="cx"> platforms       darwin
</span><span class="cx"> maintainers     nomaintainer
</span><span class="cx"> license         GPL-2+
</span><span class="cx"> 
</span><del>-description     A highly customizable open source text editor.
</del><ins>+description     A highly customizable open-source text editor.
</ins><span class="cx"> 
</span><span class="cx"> long_description \
</span><del>-    XEmacs is a highly customizable open source text editor and application development \
</del><ins>+    XEmacs is a highly customizable open-source text editor and application development \
</ins><span class="cx">     system. It is protected under the GNU Public License and related to other versions of \
</span><span class="cx">     Emacs, in particular GNU Emacs.
</span><span class="cx"> 
</span><span class="cx"> homepage        http://www.xemacs.org
</span><del>-master_sites    http://ftp.xemacs.org/pub/xemacs/xemacs-21.4/:xemacs \
-                ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.4/:xemacs \
</del><ins>+master_sites    http://ftp.xemacs.org/pub/xemacs/xemacs-21.5/:xemacs \
+                ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.5/:xemacs \
</ins><span class="cx">                 http://ftp.xemacs.org/pub/xemacs/packages/:package \
</span><span class="cx">                 ftp://ftp.xemacs.org/pub/xemacs/packages/:package \
</span><span class="cx">                 http://mirrors.ibiblio.org/pub/mirrors/xemacs/packages/:package
</span><span class="cx"> 
</span><del>-use_bzip2       yes
</del><span class="cx"> set xemacs_dist ${name}-${version}${extract.suffix}
</span><span class="cx"> set sumo_dist   ${name}-sumo-${sumo_date}${extract.suffix}
</span><span class="cx"> set mule_dist   ${name}-mule-sumo-${sumo_date}${extract.suffix}
</span><span class="cx"> 
</span><span class="cx"> distfiles       ${xemacs_dist}:xemacs ${sumo_dist}:package ${mule_dist}:package
</span><span class="cx"> 
</span><del>-checksums           xemacs-${version}.tar.bz2 \
-                    md5     060bf7565cb3233c6e7071354e9a23a4 \
-                    sha1    67876eb2bbedc02e7b660db8b4c31b5b98be865e \
-                    rmd160  0e747204bda24b1b1520b81a301f7c8573a76231 \
-                    xemacs-sumo-2009-02-17.tar.bz2 \
-                    md5     4ccf48e0ef0c37858dd0240f6343402a \
-                    sha1    13eab46524c8e9070e71289c06d49e831e48b7b2 \
-                    rmd160  a9912b3720e2b6d91017f14b6e5c11275acdeefd \
-                    xemacs-mule-sumo-2009-02-17.tar.bz2 \
-                    md5     e24b5544961e8f56e6adf1742eaf4078 \
-                    sha1    dc50bc3b62e5ff1cd766c7e4f31880bd200caad5 \
-                    rmd160  506b7465687ff9dafe26f46e049b6aad8915eb49
</del><ins>+checksums       xemacs-${version}.tar.gz \
+                md5     09f532e91cda52d9a4e9239c8909e631 \
+                sha1    f971a4650631db9c620c0b742bc30ede5dbbaf0e \
+                rmd160  968aae3a4aa7937cedc3eca5b0b804181f24ac5c \
+                xemacs-sumo-${sumo_date}.tar.gz \
+                md5     12ee5fca32ff7e3bfd6ecfd4bb157688 \
+                sha1    60b9601b9d865bdb031c8babc4020ab2a8a3258f \
+                rmd160  15bdf45aaa8dc7fe0a4d378f5993b34054563d81 \
+                xemacs-mule-sumo-${sumo_date}.tar.gz \
+                md5     2f5cd280cbc2db71d1211a87bcc37344 \
+                sha1    852a5ac51bb713a16f62676bb5db3f2ab06379cd \
+                rmd160  601a735ff800ceb2443ec9b26bc0f7c5b2215854
</ins><span class="cx"> 
</span><del>-patchfiles      51ced9b8fb63e4be59ea611b58128c400e3df987.diff \
-                bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff \
-                texinfo5.patch
-patch.pre_args  -p1
</del><ins>+patchfiles      patch-src-glyphs-eimage.c.diff
</ins><span class="cx"> 
</span><span class="cx"> configure.args  --mandir=${prefix}/share/man \
</span><span class="cx">                 --without-postgresql \
</span><span class="lines">@@ -102,5 +98,5 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> livecheck.type          regex
</span><del>-livecheck.url           http://ftp.xemacs.org/pub/xemacs/xemacs-21.4
</del><ins>+livecheck.url           http://ftp.xemacs.org/pub/xemacs/xemacs-21.5
</ins><span class="cx"> livecheck.regex         ${name}-(\[0-9.\]+)${extract.suffix}
</span></span></pre></div>
<a id="trunkdportseditorsxemacsfiles51ced9b8fb63e4be59ea611b58128c400e3df987diff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff (141545 => 141546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff        2015-10-20 16:24:46 UTC (rev 141545)
+++ trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff        2015-10-20 16:35:09 UTC (rev 141546)
</span><span class="lines">@@ -1,60 +0,0 @@
</span><del>-# HG changeset patch
-# User Vin Shelton &lt;acs@xemacs.org&gt;
-# Date 1323317837 18000
-# Node ID 51ced9b8fb63e4be59ea611b58128c400e3df987
-# Parent  032a91928d47b36ae3dd98885767d9e0202892f7
-Clean up PNG handling.  Fix crash in issue570.
-
-diff -r 032a91928d47b36ae3dd98885767d9e0202892f7 -r 51ced9b8fb63e4be59ea611b58128c400e3df987 src/glyphs-eimage.c
---- a/src/glyphs-eimage.c        Sat Dec 03 20:04:12 2011 -0500
-+++ b/src/glyphs-eimage.c        Wed Dec 07 23:17:17 2011 -0500
-@@ -935,13 +935,22 @@
-   png_read_info (png_ptr, info_ptr);

-   {
--    int y;
-+    int y, padding;
-     unsigned char **row_pointers;
-     height = info_ptr-&gt;height;
-     width = info_ptr-&gt;width;

--    /* Wow, allocate all the memory.  Truly, exciting. */
--    unwind.eimage = xnew_array_and_zero (unsigned char, width * height * 3);
-+    /* Wow, allocate all the memory.  Truly, exciting.
-+       Well, yes, there's excitement to be had.  It turns out that libpng
-+       strips in place, so the last row overruns the buffer if depth is 16
-+       or there's an alpha channel.  This is a crash on Linux.  So we need
-+       to add padding.
-+       The worst case is reducing 8 bytes (16-bit RGBA) to 3 (8-bit RGB). */
-+
-+    padding = 5 * width;
-+    unwind.eimage = xnew_array_and_zero (unsigned char,
-+                                         width * height * 3 + padding);
-+
-     /* libpng expects that the image buffer passed in contains a
-        picture to draw on top of if the png has any transparencies.
-        This could be a good place to pass that in... */
-@@ -996,9 +1005,6 @@
-     if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY ||
-         info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-       png_set_gray_to_rgb (png_ptr);
--    /* we can't handle alpha values */
--    if (info_ptr-&gt;color_type &amp; PNG_COLOR_MASK_ALPHA)
--      png_set_strip_alpha (png_ptr);
-     /* tell libpng to strip 16 bit depth files down to 8 bits */
-     if (info_ptr-&gt;bit_depth == 16)
-       png_set_strip_16 (png_ptr);
-@@ -1011,6 +1017,13 @@
-           png_set_packing (png_ptr);
-       }

-+    /* we can't handle alpha values
-+       png_read_update_info ensures the alpha flag is set when one of
-+       the transforms above causes an alpha channel to be generated */
-+    png_read_update_info (png_ptr, info_ptr);
-+    if (info_ptr-&gt;color_type &amp; PNG_COLOR_MASK_ALPHA)
-+      png_set_strip_alpha (png_ptr);
-+
-     png_read_image (png_ptr, row_pointers);
-     png_read_end (png_ptr, info_ptr);

</del></span></pre></div>
<a id="trunkdportseditorsxemacsfilesbcefd94fa6513d48f4dc8519f633b2df66b553bcdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff (141545 => 141546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff        2015-10-20 16:24:46 UTC (rev 141545)
+++ trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff        2015-10-20 16:35:09 UTC (rev 141546)
</span><span class="lines">@@ -1,87 +0,0 @@
</span><del>-# HG changeset patch
-# User Vin Shelton &lt;acs@xemacs.org&gt;
-# Date 1342078132 14400
-# Node ID bcefd94fa6513d48f4dc8519f633b2df66b553bc
-# Parent  2cf343fcb482fa6644675f3174c3c0712c53c074
-Support libpng-1.5.10
-
-diff -r 2cf343fcb482fa6644675f3174c3c0712c53c074 -r bcefd94fa6513d48f4dc8519f633b2df66b553bc src/glyphs-eimage.c
---- a/src/glyphs-eimage.c        Sun Jan 08 17:05:56 2012 -0500
-+++ b/src/glyphs-eimage.c        Thu Jul 12 03:28:52 2012 -0400
-@@ -937,8 +937,8 @@
-   {
-     int y, padding;
-     unsigned char **row_pointers;
--    height = info_ptr-&gt;height;
--    width = info_ptr-&gt;width;
-+    height = png_get_image_height(png_ptr, info_ptr);
-+    width = png_get_image_width(png_ptr, info_ptr);

-     /* Wow, allocate all the memory.  Truly, exciting.
-        Well, yes, there's excitement to be had.  It turns out that libpng
-@@ -999,19 +999,19 @@
-     /* Now that we're using EImage, ask for 8bit RGB triples for any type
-        of image*/
-     /* convert palette images to full RGB */
--    if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_PALETTE)
-+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
-       png_set_expand (png_ptr);
-     /* send grayscale images to RGB too */
--    if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY ||
--        info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
-+       png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
-       png_set_gray_to_rgb (png_ptr);
-     /* tell libpng to strip 16 bit depth files down to 8 bits */
--    if (info_ptr-&gt;bit_depth == 16)
-+    if (png_get_bit_depth(png_ptr, info_ptr) == 16)
-       png_set_strip_16 (png_ptr);
-     /* if the image is &lt; 8 bits, pad it out */
--    if (info_ptr-&gt;bit_depth &lt; 8)
-+    if (png_get_bit_depth(png_ptr, info_ptr) &lt; 8)
-       {
--        if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY)
-+       if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
-           png_set_expand (png_ptr);
-         else
-           png_set_packing (png_ptr);
-@@ -1021,7 +1021,7 @@
-        png_read_update_info ensures the alpha flag is set when one of
-        the transforms above causes an alpha channel to be generated */
-     png_read_update_info (png_ptr, info_ptr);
--    if (info_ptr-&gt;color_type &amp; PNG_COLOR_MASK_ALPHA)
-+    if (png_get_color_type(png_ptr, info_ptr) &amp; PNG_COLOR_MASK_ALPHA)
-       png_set_strip_alpha (png_ptr);

-     png_read_image (png_ptr, row_pointers);
-@@ -1036,17 +1036,22 @@
-      * from lisp anyway. - WMP
-      */
-     {
--      int i;
-+      int i, num_text = 0;
-+      png_textp text_ptr = NULL;

--      for (i = 0 ; i &lt; info_ptr-&gt;num_text ; i++)
-+      if (png_get_text (png_ptr, info_ptr, &amp;text_ptr, &amp;num_text) &gt; 0)
-         {
--          /* How paranoid do I have to be about no trailing NULLs, and
--             using (int)info_ptr-&gt;text[i].text_length, and strncpy and a temp
--             string somewhere? */
-+          for (i = 0 ; i &lt; num_text ; i++)
-+            {

--          warn_when_safe (Qpng, Qinfo, &quot;%s - %s&quot;,
--                          info_ptr-&gt;text[i].key,
--                          info_ptr-&gt;text[i].text);
-+              /* How paranoid do I have to be about no trailing NULLs, and
-+                 using (int)info_ptr-&gt;text[i].text_length, and strncpy and a temp
-+                 string somewhere? */
-+
-+              warn_when_safe (Qpng, Qinfo, &quot;%s - %s&quot;,
-+                              text_ptr[i].key, text_ptr[i].text);
-+            }
-+
-         }
-     }
- #endif
</del></span></pre></div>
<a id="trunkdportseditorsxemacsfilespatchsrcglyphseimagecdifffromrev141545trunkdportseditorsxemacsfilesbcefd94fa6513d48f4dc8519f633b2df66b553bcdiff"></a>
<div class="copfile"><h4>Copied: trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff (from rev 141545, trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff) (0 => 141546)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff                                (rev 0)
+++ trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff        2015-10-20 16:35:09 UTC (rev 141546)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+--- src/glyphs-eimage.c.orig        2015-10-20 11:16:07.000000000 -0400
++++ src/glyphs-eimage.c     2015-10-20 11:23:53.000000000 -0400
+@@ -920,8 +920,8 @@
+   {
+     int y;
+     UChar_Binary **row_pointers;
+-    height = info_ptr-&gt;height;
+-    width = info_ptr-&gt;width;
++    height = png_get_image_height(png_ptr, info_ptr);
++    width = png_get_image_width(png_ptr, info_ptr);

+     /* Wow, allocate all the memory.  Truly, exciting. */
+     unwind.eimage = xnew_array_and_zero (UChar_Binary, width * height * 3);
+@@ -973,22 +973,22 @@
+     /* Now that we're using EImage, ask for 8bit RGB triples for any type
+        of image*/
+     /* convert palette images to full RGB */
+-    if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_PALETTE)
++    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+       png_set_expand (png_ptr);
+     /* send grayscale images to RGB too */
+-    if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY ||
+-        info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
++        png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+       png_set_gray_to_rgb (png_ptr);
+     /* we can't handle alpha values */
+-    if (info_ptr-&gt;color_type &amp; PNG_COLOR_MASK_ALPHA)
++    if (png_get_color_type(png_ptr, info_ptr) &amp; PNG_COLOR_MASK_ALPHA)
+       png_set_strip_alpha (png_ptr);
+     /* tell libpng to strip 16 bit depth files down to 8 bits */
+-    if (info_ptr-&gt;bit_depth == 16)
++    if (png_get_bit_depth(png_ptr, info_ptr) == 16)
+       png_set_strip_16 (png_ptr);
+     /* if the image is &lt; 8 bits, pad it out */
+-    if (info_ptr-&gt;bit_depth &lt; 8)
++    if (png_get_bit_depth(png_ptr, info_ptr) &lt; 8)
+       {
+-        if (info_ptr-&gt;color_type == PNG_COLOR_TYPE_GRAY)
++        if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+           png_set_expand (png_ptr);
+         else
+           png_set_packing (png_ptr);
+@@ -1008,17 +1008,21 @@
+     /* #### I've turned this on, since these warnings are now
+        unobtrusive. */
+     {
+-      int i;
++      int i, num_text = 0;
++      png_textp text_ptr = NULL;

+-      for (i = 0 ; i &lt; info_ptr-&gt;num_text ; i++)
++      if (png_get_text (png_ptr, info_ptr, &amp;text_ptr, &amp;num_text) &gt; 0)
+         {
+-          /* How paranoid do I have to be about no trailing NULLs, and
+-             using (int)info_ptr-&gt;text[i].text_length, and strncpy and a temp
+-             string somewhere? */
+-
+-          warn_when_safe (Qpng, Qinfo, &quot;%s - %s&quot;,
+-                          info_ptr-&gt;text[i].key,
+-                          info_ptr-&gt;text[i].text);
++          for (i = 0 ; i &lt; num_text ; i++)
++            {
++
++              /* How paranoid do I have to be about no trailing NULLs, and
++                 using (int)info_ptr-&gt;text[i].text_length, and strncpy and a temp
++                 string somewhere? */
++
++              warn_when_safe (Qpng, Qinfo, &quot;%s - %s&quot;,
++                              text_ptr[i].key, text_ptr[i].text);
++            }
+         }
+     }
+ #endif
</ins></span></pre>
</div>
</div>

</body>
</html>