<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Does PhysFS work for you with Allegro 5.2.2?</title>
		<link>http://www.allegro.cc/forums/view/616847</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 06 May 2017 08:11:38 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi everybody,</p><p>I made some binaries and turns out Neil Roy&#39;s Deluxe Pacman 2 game no longer correctly loads ttf files from within a .zip physfs file archive. <a href="https://www.allegro.cc/forums/thread/616785/1029196#target">See thread here</a>. Also, in my distribution, ex_physfs fails to work and quits silently, as it doesn&#39;t load 02.bmp from the zip file correctly, even though the zip file is present.</p><p>My question, do the other builds of allegro suffer this same difficulty? I built Allegro 5.2.3 from GIT shortly after 5.2.2 was released, so if anyone else using 5.2.2 has this same problem or if it works for them, please let me know.</p><p>I built Allegro 5.2.3 from GIT with PhysFS 2.0.3, FreeType2.7.1, LibPNG1.6.28, and ZLib 1.2.11.</p><p>Does ex_physfs work for you in your build of allegro? Please tell me if it does.</p><p>Thanks, Edgar
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 08 Apr 2017 20:37:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It was working here, then I updated all of the dependencies (FreeType, libpng, and zlib) and it no longer works. I modified the example program and saw that it is seeing the structure of the ZIP file, it just can&#39;t load the bitmap.</p><p>Append: I modified the example to open <tt>02.bmp</tt> with <span class="source-code"><a href="http://www.allegro.cc/manual/al_fopen"><span class="a">al_fopen</span></a><span class="k2">(</span><span class="k2">)</span></span> and dump the contents and they appear correct. Not sure why <span class="source-code"><a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="k2">)</span></span> can&#39;t load it.</p><p>Append 2: <span class="source-code"><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a><span class="k2">(</span><span class="k2">)</span></span> is failing inside the BMP loader.</p><p>Append 3: It works fine when using the zlib provided by Mac OS X.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Mon, 10 Apr 2017 03:22:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do you remember which versions of freetype2, libpng, and zlib were working? I would guess it has something to do with zlib, as a .bmp file isn&#39;t png and ttf&#39;s load fine outside of physfs.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 11 Apr 2017 14:22:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, I think I was actually originally using the built-in zlib. I tried installing the old version I had (1.2.8), but it still didn&#39;t work. I think I only had that version because I needed it for Android.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Wed, 12 Apr 2017 02:52:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Can anyone with windows or other OS&#39;es test out ex_physfs for me? I need to know if the problem is with PhysFS or with Allegro and from when.</p><p>Apparently the last time it worked was with Allegro 5.2.1.1 and with FreeType2.6.5 and PhysFS 2.0.3, so PhysFS was the same and it worked. I tried ex_physfs (5.2.1.1) with ex_physfs.zip from 5.2 and it still worked, so the zip file is fine.</p><p><span class="remote-thumbnail"><span class="json">{"name":"610860","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/4\/54d2acf8320d0693dd71dd9e166d20e7.png","w":845,"h":326,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/4\/54d2acf8320d0693dd71dd9e166d20e7"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/5/4/54d2acf8320d0693dd71dd9e166d20e7-240.jpg" alt="610860" width="240" height="92" /></span></p><p><s>It has to be something to do with allegro and the physfs addon.</s> FreeType wouldn&#39;t matter when loading a .bmp and the zip file and physfs are both fine. But the version of zlib I used in 5.2.1.1 was 1.2.8 and the version of zlib I used in 5.2.3 was 1.2.11. It may be a problem with zlib, but if it&#39;s not :</p><p>Should I file a bug report on github? Send an email to the mailing list? What is the preferred way of reporting things these days?</p><p>Can I look up by commits on github or something? Or find all commits that have to do with a certain file?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 24 Apr 2017 00:41:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/616847/1029852#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> Can I look up by commits on github or something? Or find all commits that have to do with a certain file?</p></div></div><p>You can see all of the commits made to a certain file by clicking on the file on GitHub and then clicking on the &quot;Blame&quot; or &quot;History&quot; buttons to the top right of the page.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Eric Johnson)</author>
		<pubDate>Mon, 24 Apr 2017 01:30:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Todd, I believe this is where you found it was failing before.</p><div class="quote_container"><div class="title">A5.2.3GIT said:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="name">addons/image/bmp.c</span><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1318</span>   <span class="c">/* Skip to the pixel data only if it's outside of the image metadata */</span>
<span class="number"> 1319</span>   <span class="k1">if</span> <span class="k2">(</span>file_start <span class="k3">+</span> <span class="k2">(</span><span class="k1">int64_t</span><span class="k2">)</span>fileheader.bfOffBits <span class="k3">&gt;</span> <a href="http://www.allegro.cc/manual/al_ftell"><span class="a">al_ftell</span></a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 1320</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a><span class="k2">(</span>f, file_start <span class="k3">+</span> fileheader.bfOffBits, ALLEGRO_SEEK_SET<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 1321</span>         ALLEGRO_ERROR<span class="k2">(</span><span class="s">"Seek error\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 1322</span>         <span class="k1">return</span> NULL<span class="k2">;</span>
<span class="number"> 1323</span>      <span class="k2">}</span>
<span class="number"> 1324</span>   <span class="k2">}</span>
<span class="number"> 1325</span>
<span class="number"> 1326</span>   bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span>infoheader.biWidth, <a href="http://www.delorie.com/djgpp/doc/libc/libc_38.html" target="_blank">abs</a><span class="k2">(</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>infoheader.biHeight<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div></div><p>

It fails on line 1320 of bmp.c in the call to <span class="source-code"><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a></span>. I&#39;m trying to step further into the code as we speak. It&#39;s failing inside <span class="source-code">f-&gt;vtable-&gt;fi_fseek</span> which is <span class="source-code">file_phys_seek</span>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 27 Apr 2017 05:03:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, that&#39;s exactly where I wound up. The PhysFS call is failing (returns a fail code). I&#39;m not familiar with zlib so I didn&#39;t keep going.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Fri, 28 Apr 2017 03:21:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><b>EDIT</b></p><p>This is from a <a href="https://bbs.archlinux.org/viewtopic.php?pid=1686557#p1686557">known physfs bug</a> in v. 2.0.3. A copy of the patch from that thread is attached here :<br /><a href="https://www.allegro.cc/files/attachment/610879">https://www.allegro.cc/files/attachment/610879</a></p><p><b>Original Message</b></p><p>Todd, I believe this is where you found it was failing before.</p><div class="quote_container"><div class="title">A5.2.3GIT said:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="name">addons/image/bmp.c</span><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1318</span>   <span class="c">/* Skip to the pixel data only if it's outside of the image metadata */</span>
<span class="number"> 1319</span>   <span class="k1">if</span> <span class="k2">(</span>file_start <span class="k3">+</span> <span class="k2">(</span><span class="k1">int64_t</span><span class="k2">)</span>fileheader.bfOffBits <span class="k3">&gt;</span> <a href="http://www.allegro.cc/manual/al_ftell"><span class="a">al_ftell</span></a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 1320</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a><span class="k2">(</span>f, file_start <span class="k3">+</span> fileheader.bfOffBits, ALLEGRO_SEEK_SET<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 1321</span>         ALLEGRO_ERROR<span class="k2">(</span><span class="s">"Seek error\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 1322</span>         <span class="k1">return</span> NULL<span class="k2">;</span>
<span class="number"> 1323</span>      <span class="k2">}</span>
<span class="number"> 1324</span>   <span class="k2">}</span>
<span class="number"> 1325</span>
<span class="number"> 1326</span>   bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span>infoheader.biWidth, <a href="http://www.delorie.com/djgpp/doc/libc/libc_38.html" target="_blank">abs</a><span class="k2">(</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>infoheader.biHeight<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div></div><p>

It fails on line 1320 of bmp.c in the call to <span class="source-code"><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a></span>. I&#39;m trying to step further into the code as we speak. It&#39;s failing inside <span class="source-code">f-&gt;vtable-&gt;fi_fseek</span> which is <span class="source-code">file_phys_seek</span>.</p><p>EDIT<br />It&#39;s failing inside ZIP_seek in a call to ZIP_read.</p><p>Here&#39;s the debug output :
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span>
<span class="number">   2</span>c:\LIBS5303Distro\Allegro522_MinGW5303\bin\examples&gt;gdb ex_physfs.exe
<span class="number">   3</span>GNU gdb <span class="k2">(</span>GDB<span class="k2">)</span> <span class="n">7</span>.<span class="n">6</span>.<span class="n">1</span>
<span class="number">   4</span>
<span class="number">   5</span>Breakpoint <span class="n">2</span>, main <span class="k2">(</span>argc<span class="k3">=</span><span class="n">1</span>, argv<span class="k3">=</span><span class="n">0x13e8130</span><span class="k2">)</span> at C:\LIBS5303Build\allegro5\examples\ex_physfs.c:165
<span class="number">   6</span><span class="n">165</span>        bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"02.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   7</span><span class="k2">(</span>gdb<span class="k2">)</span> c
<span class="number">   8</span>Continuing.
<span class="number">   9</span>
<span class="number">  10</span>Breakpoint <span class="n">4</span>, file_phys_seek <span class="k2">(</span>f<span class="k3">=</span><span class="n">0x13eb030</span>, offset<span class="k3">=</span><span class="n">0</span>, whence<span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number">  11</span>    at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:185
<span class="number">  12</span><span class="n">185</span>        ALLEGRO_FILE_PHYSFS <span class="k3">*</span>fp <span class="k3">=</span> cast_stream<span class="k2">(</span>f<span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span><span class="k2">(</span>gdb<span class="k2">)</span> bt
<span class="number">  14</span><span class="p">#0  file_phys_seek (f=0x13eb030, offset=0, whence=0) at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:185</span>
<span class="number">  15</span><span class="p">#1  0x677a74b1 in al_fseek (f=0x13eb030, offset=0, whence=0) at C:\LIBS5303Build\allegro5\src\file.c:175</span>
<span class="number">  16</span><span class="p">#2  0x678716e6 in _al_load_bmp_f (f=0x13eb030, flags=0) at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1303</span>
<span class="number">  17</span><span class="p">#3  0x678726db in _al_load_bmp (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp", flags=0)</span>
<span class="number">  18</span>    at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1596
<span class="number">  19</span><span class="p">#4  0x67783ffd in al_load_bitmap_flags (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp", flags=0)</span>
<span class="number">  20</span>    at C:\LIBS5303Build\allegro5\src\bitmap_io.c:209
<span class="number">  21</span><span class="p">#5  0x67783f39 in al_load_bitmap (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp")</span>
<span class="number">  22</span>    at C:\LIBS5303Build\allegro5\src\bitmap_io.c:184
<span class="number">  23</span><span class="p">#6  0x00401a8c in main (argc=1, argv=0x13e8130) at C:\LIBS5303Build\allegro5\examples\ex_physfs.c:165</span>
<span class="number">  24</span><span class="k2">(</span>gdb<span class="k2">)</span> <span class="k1">continue</span>
<span class="number">  25</span>Continuing.
<span class="number">  26</span><span class="k2">[</span>New Thread <span class="n">12396</span>.<span class="n">0x3238</span><span class="k2">]</span>
<span class="number">  27</span><span class="k2">[</span>New Thread <span class="n">12396</span>.<span class="n">0x760</span><span class="k2">]</span>
<span class="number">  28</span>
<span class="number">  29</span>Breakpoint <span class="n">3</span>, _al_load_bmp_f <span class="k2">(</span>f<span class="k3">=</span><span class="n">0x13eb030</span>, flags<span class="k3">=</span><span class="n">0</span><span class="k2">)</span> at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1320
<span class="number">  30</span><span class="n">1320</span>          <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a><span class="k2">(</span>f, file_start <span class="k3">+</span> fileheader.bfOffBits, ALLEGRO_SEEK_SET<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  31</span><span class="k2">(</span>gdb<span class="k2">)</span> step
<span class="number">  32</span><a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a> <span class="k2">(</span>f<span class="k3">=</span><span class="n">0x13eb030</span>, offset<span class="k3">=</span><span class="n">118</span>, whence<span class="k3">=</span><span class="n">0</span><span class="k2">)</span> at C:\LIBS5303Build\allegro5\src\file.c:160
<span class="number">  33</span><span class="n">160</span>        <a href="http://www.allegro.cc/manual/ASSERT"><span class="a">ASSERT</span></a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span><span class="k2">(</span>gdb<span class="k2">)</span> l
<span class="number">  35</span><span class="n">155</span>
<span class="number">  36</span><span class="n">156</span>     <span class="c">/* Function: al_fseek</span>
<span class="number">  37</span><span class="c">157      */</span>
<span class="number">  38</span><span class="n">158</span>     <span class="k1">bool</span> <a href="http://www.allegro.cc/manual/al_fseek"><span class="a">al_fseek</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_FILE"><span class="a">ALLEGRO_FILE</span></a> <span class="k3">*</span>f, <span class="k1">int64_t</span> offset, <span class="k1">int</span> whence<span class="k2">)</span>
<span class="number">  39</span><span class="n">159</span>     <span class="k2">{</span>
<span class="number">  40</span><span class="n">160</span>        <a href="http://www.allegro.cc/manual/ASSERT"><span class="a">ASSERT</span></a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span><span class="n">161</span>        <span class="c">/* offset can be negative */</span>
<span class="number">  42</span><span class="n">162</span>        <a href="http://www.allegro.cc/manual/ASSERT"><span class="a">ASSERT</span></a><span class="k2">(</span>
<span class="number">  43</span><span class="n">163</span>           whence <span class="k3">=</span><span class="k3">=</span> ALLEGRO_SEEK_SET <span class="k3">|</span><span class="k3">|</span>
<span class="number">  44</span><span class="n">164</span>           whence <span class="k3">=</span><span class="k3">=</span> ALLEGRO_SEEK_CUR <span class="k3">|</span><span class="k3">|</span>
<span class="number">  45</span><span class="k2">(</span>gdb<span class="k2">)</span> n
<span class="number">  46</span><span class="n">162</span>        <a href="http://www.allegro.cc/manual/ASSERT"><span class="a">ASSERT</span></a><span class="k2">(</span>
<span class="number">  47</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  48</span><span class="n">168</span>        <span class="k1">if</span> <span class="k2">(</span>f-&gt;ungetc_len<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  49</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  50</span><span class="n">175</span>        <span class="k1">return</span> f-&gt;vtable-&gt;fi_fseek<span class="k2">(</span>f, offset, whence<span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span><span class="k2">(</span>gdb<span class="k2">)</span> step
<span class="number">  52</span>
<span class="number">  53</span>Breakpoint <span class="n">4</span>, file_phys_seek <span class="k2">(</span>f<span class="k3">=</span><span class="n">0x13eb030</span>, offset<span class="k3">=</span><span class="n">118</span>, whence<span class="k3">=</span><span class="n">0</span><span class="k2">)</span>
<span class="number">  54</span>    at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:185
<span class="number">  55</span><span class="n">185</span>        ALLEGRO_FILE_PHYSFS <span class="k3">*</span>fp <span class="k3">=</span> cast_stream<span class="k2">(</span>f<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span><span class="k2">(</span>gdb<span class="k2">)</span>l
<span class="number">  57</span><span class="n">214</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>PHYSFS_seek<span class="k2">(</span>fp-&gt;phys, base <span class="k3">+</span> offset<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  58</span><span class="n">215</span>           phys_set_errno<span class="k2">(</span>fp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span><span class="n">216</span>           <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  60</span><span class="n">217</span>        <span class="k2">}</span>
<span class="number">  61</span>
<span class="number">  62</span>...
<span class="number">  63</span>
<span class="number">  64</span><span class="k2">(</span>gdb<span class="k2">)</span> frame <span class="n">0</span>
<span class="number">  65</span><span class="p">#0  ZIP_seek (opaque=0x13ea4e0, offset=118) at C:\LIBS5303Build\physfs-2.0.3\archivers\zip.c:297</span>
<span class="number">  66</span><span class="k2">(</span>gdb<span class="k2">)</span> n
<span class="number">  67</span><span class="n">298</span>         ZIPentry <span class="k3">*</span>entry <span class="k3">=</span> finfo-&gt;entry<span class="k2">;</span>
<span class="number">  68</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  69</span><span class="n">299</span>         <span class="k1">void</span> <span class="k3">*</span>in <span class="k3">=</span> finfo-&gt;handle<span class="k2">;</span>
<span class="number">  70</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  71</span><span class="n">301</span>         BAIL_IF_MACRO<span class="k2">(</span>offset <span class="k3">&gt;</span> entry-&gt;uncompressed_size, ERR_PAST_EOF, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  73</span><span class="n">303</span>         <span class="k1">if</span> <span class="k2">(</span>entry-&gt;compression_method <span class="k3">=</span><span class="k3">=</span> COMPMETH_NONE<span class="k2">)</span>
<span class="number">  74</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  75</span><span class="n">318</span>             <span class="k1">if</span> <span class="k2">(</span>offset <span class="k3">&lt;</span> finfo-&gt;uncompressed_position<span class="k2">)</span>
<span class="number">  76</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  77</span><span class="n">334</span>             <span class="k1">while</span> <span class="k2">(</span>finfo-&gt;uncompressed_position <span class="k3">!</span><span class="k3">=</span> offset<span class="k2">)</span>
<span class="number">  78</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  79</span><span class="n">339</span>                 maxread <span class="k3">=</span> <span class="k2">(</span>PHYSFS_uint32<span class="k2">)</span> <span class="k2">(</span>offset <span class="k3">-</span> finfo-&gt;uncompressed_position<span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  81</span><span class="n">340</span>                 <span class="k1">if</span> <span class="k2">(</span>maxread <span class="k3">&gt;</span> <span class="k1">sizeof</span> <span class="k2">(</span>buf<span class="k2">)</span><span class="k2">)</span>
<span class="number">  82</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  83</span><span class="n">343</span>                 <span class="k1">if</span> <span class="k2">(</span>ZIP_read<span class="k2">(</span>finfo, buf, maxread, <span class="n">1</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  84</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  85</span><span class="n">344</span>                     <span class="k1">return</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  87</span><span class="n">349</span>     <span class="k2">}</span> <span class="c">/* ZIP_seek */</span>
<span class="number">  88</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  89</span>PHYSFS_seek <span class="k2">(</span>handle<span class="k3">=</span><span class="n">0x2c50798</span>, pos<span class="k3">=</span><span class="n">118</span><span class="k2">)</span> at C:\LIBS5303Build\physfs-2.0.3\physfs.c:2067
<span class="number">  90</span><span class="n">2067</span>    <span class="k2">}</span> <span class="c">/* PHYSFS_seek */</span>
<span class="number">  91</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  92</span>file_phys_seek <span class="k2">(</span>f<span class="k3">=</span><span class="n">0x13eb030</span>, offset<span class="k3">=</span><span class="n">118</span>, whence<span class="k3">=</span><span class="n">0</span><span class="k2">)</span> at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:215
<span class="number">  93</span><span class="n">215</span>           phys_set_errno<span class="k2">(</span>fp<span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span><span class="k2">(</span>gdb<span class="k2">)</span> p fp
<span class="number">  95</span>$<span class="n">13</span> <span class="k3">=</span> <span class="k2">(</span>ALLEGRO_FILE_PHYSFS <span class="k3">*</span><span class="k2">)</span> <span class="n">0x13ea548</span>
<span class="number">  96</span><span class="k2">(</span>gdb<span class="k2">)</span> l
<span class="number">  97</span><span class="n">210</span>              <a href="http://www.allegro.cc/manual/al_set_errno"><span class="a">al_set_errno</span></a><span class="k2">(</span>EINVAL<span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span><span class="n">211</span>              <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  99</span><span class="n">212</span>        <span class="k2">}</span>
<span class="number"> 100</span><span class="n">213</span>
<span class="number"> 101</span><span class="n">214</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>PHYSFS_seek<span class="k2">(</span>fp-&gt;phys, base <span class="k3">+</span> offset<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 102</span><span class="n">215</span>           phys_set_errno<span class="k2">(</span>fp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span><span class="n">216</span>           <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 104</span><span class="n">217</span>        <span class="k2">}</span>
<span class="number"> 105</span><span class="n">218</span>
<span class="number"> 106</span><span class="n">219</span>        <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 107</span><span class="k2">(</span>gdb<span class="k2">)</span> frame <span class="n">0</span>
<span class="number"> 108</span><span class="p">#0  file_phys_seek (f=0x13eb030, offset=118, whence=0) at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:215</span>
<span class="number"> 109</span><span class="n">215</span>           phys_set_errno<span class="k2">(</span>fp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span><span class="k2">(</span>gdb<span class="k2">)</span> l
<span class="number"> 111</span><span class="n">210</span>              <a href="http://www.allegro.cc/manual/al_set_errno"><span class="a">al_set_errno</span></a><span class="k2">(</span>EINVAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span><span class="n">211</span>              <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 113</span><span class="n">212</span>        <span class="k2">}</span>
<span class="number"> 114</span><span class="n">213</span>
<span class="number"> 115</span><span class="n">214</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>PHYSFS_seek<span class="k2">(</span>fp-&gt;phys, base <span class="k3">+</span> offset<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 116</span><span class="n">215</span>           phys_set_errno<span class="k2">(</span>fp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span><span class="n">216</span>           <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 118</span><span class="n">217</span>        <span class="k2">}</span>
<span class="number"> 119</span><span class="n">218</span>
<span class="number"> 120</span><span class="n">219</span>        <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 121</span><span class="k2">(</span>gdb<span class="k2">)</span> bt
<span class="number"> 122</span><span class="p">#0  file_phys_seek (f=0x13eb030, offset=118, whence=0) at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:215</span>
<span class="number"> 123</span><span class="p">#1  0x677a74b1 in al_fseek (f=0x13eb030, offset=118, whence=0) at C:\LIBS5303Build\allegro5\src\file.c:175</span>
<span class="number"> 124</span><span class="p">#2  0x67871860 in _al_load_bmp_f (f=0x13eb030, flags=0) at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1320</span>
<span class="number"> 125</span><span class="p">#3  0x678726db in _al_load_bmp (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp", flags=0)</span>
<span class="number"> 126</span>    at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1596
<span class="number"> 127</span><span class="p">#4  0x67783ffd in al_load_bitmap_flags (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp", flags=0)</span>
<span class="number"> 128</span>    at C:\LIBS5303Build\allegro5\src\bitmap_io.c:209
<span class="number"> 129</span><span class="p">#5  0x67783f39 in al_load_bitmap (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp")</span>
<span class="number"> 130</span>    at C:\LIBS5303Build\allegro5\src\bitmap_io.c:184
<span class="number"> 131</span><span class="p">#6  0x00401a8c in main (argc=1, argv=0x13e8130) at C:\LIBS5303Build\allegro5\examples\ex_physfs.c:165</span>
<span class="number"> 132</span><span class="k2">(</span>gdb<span class="k2">)</span>
</div></div><p>

It&#39;s failing inside a call to inflate and zlib_err is returning -2 which means #define Z_STREAM_ERROR (-2). That&#39;s the best I can make of this.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="n">258</span>                 rc <span class="k3">=</span> zlib_err<span class="k2">(</span>inflate<span class="k2">(</span><span class="k3">&amp;</span>finfo-&gt;stream, Z_SYNC_FLUSH<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  2</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  3</span><span class="n">259</span>                 retval <span class="k3">+</span><span class="k3">=</span> <span class="k2">(</span>finfo-&gt;stream.total_out <span class="k3">-</span> before<span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  5</span><span class="n">261</span>                 <span class="k1">if</span> <span class="k2">(</span>rc <span class="k3">!</span><span class="k3">=</span> Z_OK<span class="k2">)</span>
<span class="number">  6</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  7</span><span class="n">262</span>                     <span class="k1">break</span><span class="k2">;</span>
<span class="number">  8</span><span class="k2">(</span>gdb<span class="k2">)</span> p rc
<span class="number">  9</span>$<span class="n">14</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>
<span class="number"> 10</span><span class="k2">(</span>gdb<span class="k2">)</span> p Z_OK
<span class="number"> 11</span>No symbol <span class="s">"Z_OK"</span> in current context.
<span class="number"> 12</span><span class="k2">(</span>gdb<span class="k2">)</span> bt
<span class="number"> 13</span><span class="p">#0  ZIP_read (opaque=0x12aa4e0, buf=0x61eaa8, objSize=118, objCount=1)</span>
<span class="number"> 14</span>    at C:\LIBS5303Build\physfs-2.0.3\archivers\zip.c:262
<span class="number"> 15</span><span class="p">#1  0x64a0fe28 in ZIP_seek (opaque=0x12aa4e0, offset=118) at C:\LIBS5303Build\physfs-2.0.3\archivers\zip.c:343</span>
<span class="number"> 16</span><span class="p">#2  0x64a0508c in PHYSFS_seek (handle=0x5150798, pos=118) at C:\LIBS5303Build\physfs-2.0.3\physfs.c:2066</span>
<span class="number"> 17</span><span class="p">#3  0x67891e7e in file_phys_seek (f=0x12ab030, offset=118, whence=0)</span>
<span class="number"> 18</span>    at C:\LIBS5303Build\allegro5\addons\physfs\a5_physfs.c:214
<span class="number"> 19</span><span class="p">#4  0x677a74b1 in al_fseek (f=0x12ab030, offset=118, whence=0) at C:\LIBS5303Build\allegro5\src\file.c:175</span>
<span class="number"> 20</span><span class="p">#5  0x67871860 in _al_load_bmp_f (f=0x12ab030, flags=0) at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1320</span>
<span class="number"> 21</span><span class="p">#6  0x678726db in _al_load_bmp (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp", flags=0)</span>
<span class="number"> 22</span>    at C:\LIBS5303Build\allegro5\addons\image\bmp.c:1596
<span class="number"> 23</span><span class="p">#7  0x67783ffd in al_load_bitmap_flags (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp", flags=0)</span>
<span class="number"> 24</span>    at C:\LIBS5303Build\allegro5\src\bitmap_io.c:209
<span class="number"> 25</span><span class="p">#8  0x67783f39 in al_load_bitmap (filename=0x40b1ee &lt;__register_frame_info+4239854&gt; "02.bmp")</span>
<span class="number"> 26</span>    at C:\LIBS5303Build\allegro5\src\bitmap_io.c:184
<span class="number"> 27</span><span class="p">#9  0x00401a8c in main (argc=1, argv=0x12a8130) at C:\LIBS5303Build\allegro5\examples\ex_physfs.c:165</span>
<span class="number"> 28</span><span class="k2">(</span>gdb<span class="k2">)</span> l
<span class="number"> 29</span><span class="n">257</span>
<span class="number"> 30</span><span class="n">258</span>                 rc <span class="k3">=</span> zlib_err<span class="k2">(</span>inflate<span class="k2">(</span><span class="k3">&amp;</span>finfo-&gt;stream, Z_SYNC_FLUSH<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span><span class="n">259</span>                 retval <span class="k3">+</span><span class="k3">=</span> <span class="k2">(</span>finfo-&gt;stream.total_out <span class="k3">-</span> before<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 32</span><span class="n">260</span>
<span class="number"> 33</span><span class="n">261</span>                 <span class="k1">if</span> <span class="k2">(</span>rc <span class="k3">!</span><span class="k3">=</span> Z_OK<span class="k2">)</span>
<span class="number"> 34</span><span class="n">262</span>                     <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 35</span><span class="n">263</span>             <span class="k2">}</span> <span class="c">/* while */</span>
<span class="number"> 36</span><span class="n">264</span>
<span class="number"> 37</span><span class="n">265</span>             retval <span class="k3">/</span><span class="k3">=</span> objSize<span class="k2">;</span>
<span class="number"> 38</span><span class="n">266</span>         <span class="k2">}</span> <span class="c">/* else */</span>
<span class="number"> 39</span><span class="k2">(</span>gdb<span class="k2">)</span> p rc
<span class="number"> 40</span>$<span class="n">15</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>
<span class="number"> 41</span><span class="k2">(</span>gdb<span class="k2">)</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 06 May 2017 08:11:38 +0000</pubDate>
	</item>
</rss>
