<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib, branch v1.1.4</title>
<subtitle>A new set of tools and libraries for working with SquashFS images</subtitle>
<id>https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.1.4</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.1.4'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-03-30T17:15:08+00:00</updated>
<entry>
<title>Update built-in zlib version</title>
<updated>2022-03-30T17:15:08+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-30T14:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=28385368ddc6ef50e444d53e873be667f467303a'/>
<id>urn:sha1:28385368ddc6ef50e444d53e873be667f467303a</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>More defensive programming in mem_pool_allocate</title>
<updated>2022-03-11T11:32:50+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2a3f02fd36a9152bcafaa05bddebbdb4bd2f41e6'/>
<id>urn:sha1:2a3f02fd36a9152bcafaa05bddebbdb4bd2f41e6</id>
<content type='text'>
Abort and retry in situations that should logically _never_
_ever_ happen.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: guard against potential overflow in file size calculation</title>
<updated>2022-03-10T22:31:54+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:30:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=82f83c9515aaf99d12f6aa101c4d7b7463850e8b'/>
<id>urn:sha1:82f83c9515aaf99d12f6aa101c4d7b7463850e8b</id>
<content type='text'>
The block_count is a size_t, so on 32 bit platforms the multiplication
might be truncated before the comparison with filesz.

On 64 bit platforms, it could potentially also overflow the 64 bit
bounds of the data type.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix warning if __SIZEOF_INT128__ is not defined</title>
<updated>2022-03-10T22:16:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=fbccd0d022b1ffc3f648761406cb53a32e63deae'/>
<id>urn:sha1:fbccd0d022b1ffc3f648761406cb53a32e63deae</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup libtar mkxattr, explicitly null-terminate strings</title>
<updated>2022-03-10T22:13:02+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T21:50:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=6a19a4f5a755ebde63d7aa3d020460aea58e7ac8'/>
<id>urn:sha1:6a19a4f5a755ebde63d7aa3d020460aea58e7ac8</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Windows: redirect standard I/O and convert text to UTF-16</title>
<updated>2022-03-10T20:53:29+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T20:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=6447b191eef8bf8f4942569e55c9a0f297c67a8e'/>
<id>urn:sha1:6447b191eef8bf8f4942569e55c9a0f297c67a8e</id>
<content type='text'>
Preprocessor magic is used to redirect putc/fputc/fputs/printf/fprintf
to custom implementations.

The custom implementations try to figure out if we are printing to the
console and, if so, convert the resulting strings to UTF-16 and print
them through ConsoleWriteW. If the output is redirected to a file or
a pipe, the original (presummed) UTF-8 is kept.

Simply setting the console output codepage to UTF-8 does not work,
because the standard I/O facilities of MSVCRT either does not support
unicode (in non-wchar mode), or has half-broken support through fputs,
which can still break up multi-byte sequences through its internal
buffering.

Likewise, changing the codepage and using ConsoleWriteA, or trying to
use fputws did not work in a test VM either.

This approach is the one that worked most consistently among the
ones tried, but also has problems. E.g. it breaks when setting the
codepage to UTF-8 manually (using `chcp 65001`).

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: Windows: libfstream: allocation size of stdout stream struct</title>
<updated>2022-03-09T22:32:22+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-09T22:32:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8b0e45bd2cf2ae97d26e7922f9dbf6c9903bb7c6'/>
<id>urn:sha1:8b0e45bd2cf2ae97d26e7922f9dbf6c9903bb7c6</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libfstream: don't fail on Windows when reading from a pipe</title>
<updated>2022-01-29T15:08:16+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-01-29T15:08:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4e1d9aef948092778ff0559ee8a94d4365dab9cf'/>
<id>urn:sha1:4e1d9aef948092778ff0559ee8a94d4365dab9cf</id>
<content type='text'>
When piping the output of another program into tar2sqfs.exe, and
the source program terminates, tar2sqfs.exe gets an ERROR_BROKEN_PIPE
when the end is reached and it trys to pre-cache more data. This
commit adds a work around, to propperly handle this as and end-of-file
condition.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix Windows main wrapper after mingw upgrade</title>
<updated>2021-12-14T19:54:40+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-12-14T19:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8e1a2644968ce048feecd7f480ed4cce7dec7f6b'/>
<id>urn:sha1:8e1a2644968ce048feecd7f480ed4cce7dec7f6b</id>
<content type='text'>
Apparently, mingw implicitly included stdlib.h indirectly from either
windows.h or shellapi.h. After an upgrade, the windows build now
fails with EXIT_FAILURE being undefined.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: consistently use the widechar file API on Windows</title>
<updated>2021-12-05T09:29:36+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-11-27T23:05:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2b8eb19a4de81db470f7ff5021a8a4822cc8c80d'/>
<id>urn:sha1:2b8eb19a4de81db470f7ff5021a8a4822cc8c80d</id>
<content type='text'>
When opening files on windows, use the widechar versions and convert
from (assumed) UTF-8 to UTF-16 as needed.

Since the broken, code-page-random API may acutall be intended in some
use cases, leave that option in through an additional flag.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
