]> granicus.if.org Git - zziplib/log
zziplib
4 years agoallow zziptests.py to fail if xmlrunner not available
Guido Draheim [Mon, 13 Apr 2020 19:30:26 +0000 (21:30 +0200)]
allow zziptests.py to fail if xmlrunner not available

4 years agomaster branch tests
Guido Draheim [Mon, 13 Apr 2020 19:14:30 +0000 (21:14 +0200)]
master branch tests

4 years ago azure-tests-master.md
Guido Draheim [Mon, 13 Apr 2020 19:12:35 +0000 (21:12 +0200)]
 azure-tests-master.md

4 years ago testbuilds/windows-shared-x64.dockerfile
Guido Draheim [Mon, 13 Apr 2020 18:47:12 +0000 (20:47 +0200)]
 testbuilds/windows-shared-x64.dockerfile

4 years ago testbuilds/windows-static-x64.dockerfile
Guido Draheim [Mon, 13 Apr 2020 18:44:26 +0000 (20:44 +0200)]
 testbuilds/windows-static-x64.dockerfile

4 years agocomplete with testbuilds/ubuntu16-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 17:47:53 +0000 (19:47 +0200)]
complete with testbuilds/ubuntu16-build.dockerfile

4 years agorename to correct ubuntu16-sdl2.dockerfile
Guido Draheim [Mon, 13 Apr 2020 17:45:00 +0000 (19:45 +0200)]
rename to correct ubuntu16-sdl2.dockerfile

4 years ago ubuntu16-32bit.dockerfile
Guido Draheim [Mon, 13 Apr 2020 17:43:53 +0000 (19:43 +0200)]
 ubuntu16-32bit.dockerfile

4 years agoubuntu18-sdl2.dockerfile and enhance local repo for ubuntu-universe-repo
Guido Draheim [Mon, 13 Apr 2020 16:43:05 +0000 (18:43 +0200)]
ubuntu18-sdl2.dockerfile and enhance local repo for ubuntu-universe-repo

4 years agoadding tests for zlib.pc for all targets
Guido Draheim [Mon, 13 Apr 2020 16:25:39 +0000 (18:25 +0200)]
adding tests for zlib.pc for all targets

4 years ago#86 emit project_version into zzipwrap.pc
Guido Draheim [Mon, 13 Apr 2020 15:51:55 +0000 (17:51 +0200)]
#86 emit project_version into zzipwrap.pc

4 years agoupgrading testbuild dockerfiles to have no_check and no_install --build-arg options
Guido Draheim [Mon, 13 Apr 2020 15:42:54 +0000 (17:42 +0200)]
upgrading testbuild dockerfiles to have no_check and no_install --build-arg options

4 years ago#86 do not install sdl headers when no libSDL
Guido Draheim [Mon, 13 Apr 2020 15:42:15 +0000 (17:42 +0200)]
#86 do not install sdl headers when no libSDL

4 years agoMerge branch 'master' into develop
Guido Draheim [Mon, 13 Apr 2020 14:57:25 +0000 (16:57 +0200)]
Merge branch 'master' into develop

4 years agoMerge pull request #87 from jtojnar/cmake-fixes
Guido U. Draheim [Mon, 13 Apr 2020 14:54:47 +0000 (16:54 +0200)]
Merge pull request #87 from jtojnar/cmake-fixes

CMake fixes

4 years agobuild: Add descriptions to pc files
Jan Tojnar [Mon, 13 Apr 2020 14:33:22 +0000 (16:33 +0200)]
build: Add descriptions to pc files

4 years ago#86 implant new package version into subdir CMakeFiles as well
Guido Draheim [Mon, 13 Apr 2020 14:21:26 +0000 (16:21 +0200)]
#86 implant new package version into subdir CMakeFiles as well

4 years agoadd testbuilds/centos8-sdl2.dockerfile
Guido Draheim [Mon, 13 Apr 2020 14:20:25 +0000 (16:20 +0200)]
add testbuilds/centos8-sdl2.dockerfile

4 years agobuild: Produce correct pc file with absolute libdir
Jan Tojnar [Mon, 13 Apr 2020 14:16:11 +0000 (16:16 +0200)]
build: Produce correct pc file with absolute libdir

The CMAKE_INSTALL_INCLUDEDIR and CMAKE_INSTALL_LIBDIR variables
can be absolute paths so simply appending them to \${prefix}
might not work.

Unfortunately, CMake does not have simple function for joining paths [1]
so I had to write my own suboptimal one.

It somewhat handles the following cases

- prefix absolute + libdir relative
- prefix absolute + libdir absolute but not under prefix

but for

- prefix absolute + libdir absolute & under prefix

we would want to strip the prefix and make the libdir relative
so we can make it relative to the pkg-config variables.

Basically, we want the equivalent of the following Python function:

import os.path
from pathlib import PurePath

if os.path.isabs(libdir) and os.path.commonpath([libdir, prefix]) == str(PurePath(prefix)):
    # Convert path to be relative to prefix
    skip = len(prefix) + 1
    libdir = libdir[skip:]

return os.path.join('${prefix}', libdir)

This would be non-trivial to replicate in CMake scripts as far as I can tell.

[1]: https://gitlab.kitware.com/cmake/cmake/issues/19568

4 years ago#86 missing description in .pc
Guido Draheim [Mon, 13 Apr 2020 14:14:14 +0000 (16:14 +0200)]
#86 missing description in .pc

4 years ago testbuilds/centos7-sdl2.dockerfile
Guido Draheim [Mon, 13 Apr 2020 13:52:31 +0000 (15:52 +0200)]
 testbuilds/centos7-sdl2.dockerfile

4 years ago testbuilds/opensuse15-sdl2.dockerfile
Guido Draheim [Mon, 13 Apr 2020 13:44:31 +0000 (15:44 +0200)]
 testbuilds/opensuse15-sdl2.dockerfile

4 years agoclean testbuilds/opensuse15-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 13:35:11 +0000 (15:35 +0200)]
clean testbuilds/opensuse15-build.dockerfile

4 years agoadd ubuntu18-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 13:34:14 +0000 (15:34 +0200)]
add ubuntu18-build.dockerfile

4 years agobuild: Fix libdir paths
Jan Tojnar [Mon, 13 Apr 2020 13:33:39 +0000 (15:33 +0200)]
build: Fix libdir paths

CMAKE_INSTALL_LIBDIR can be absolute so appending to it CMAKE_INSTALL_PREFIX might not work.

4 years agoadd testbuilds/centos8-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 13:19:58 +0000 (15:19 +0200)]
add testbuilds/centos8-build.dockerfile

4 years agocleanup testbuilds/centos7-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 13:19:45 +0000 (15:19 +0200)]
cleanup testbuilds/centos7-build.dockerfile

4 years agobuild: Install man pages correctly
Jan Tojnar [Mon, 13 Apr 2020 12:57:57 +0000 (14:57 +0200)]
build: Install man pages correctly

CMAKE_INSTALL_MANDIR can be absolute path so simply appending it to CMAKE_INSTALL_PREFIX will not work an may produce paths like /nix/store/5r86wqbn6ncdxrdwvmskc381krm32pzh-zziplib-0.13.70/nix/store/5r86wqbn6ncdxrdwvmskc381krm32pzh-zziplib-0.13.70/…

4 years agoforce python3 (on centos cmake)
Guido Draheim [Mon, 13 Apr 2020 12:57:30 +0000 (14:57 +0200)]
force python3 (on centos cmake)

4 years agoadd testbuilds/centos7-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 12:57:01 +0000 (14:57 +0200)]
add testbuilds/centos7-build.dockerfile

4 years agoinitial testbuilds.py and testbuilds/opensuse15-build.dockerfile
Guido Draheim [Mon, 13 Apr 2020 12:35:37 +0000 (14:35 +0200)]
initial testbuilds.py and testbuilds/opensuse15-build.dockerfile

4 years agoplease switch to 'cmake' based builds
Guido Draheim [Mon, 13 Apr 2020 11:48:16 +0000 (13:48 +0200)]
please switch to 'cmake' based builds

4 years agoplease switch to 'cmake' based builds v0.13.70
Guido Draheim [Mon, 13 Apr 2020 11:18:46 +0000 (13:18 +0200)]
please switch to 'cmake' based builds

4 years agoplease switch to 'cmake' based builds
Guido Draheim [Mon, 13 Apr 2020 11:18:36 +0000 (13:18 +0200)]
please switch to 'cmake' based builds

4 years agoMerge branch 'develop'
Guido Draheim [Mon, 13 Apr 2020 11:15:42 +0000 (13:15 +0200)]
Merge branch 'develop'

4 years agov0.13.70
Guido Draheim [Mon, 13 Apr 2020 11:09:31 +0000 (13:09 +0200)]
v0.13.70

4 years ago#84 change for the next release
Guido Draheim [Mon, 13 Apr 2020 11:01:43 +0000 (13:01 +0200)]
#84 change for the next release

4 years ago... please switch to 'cmake' base builds.
Guido Draheim [Mon, 13 Apr 2020 10:51:12 +0000 (12:51 +0200)]
... please switch to 'cmake' base builds.

4 years agonewer version of zip for test.zip
Guido Draheim [Mon, 13 Apr 2020 10:48:52 +0000 (12:48 +0200)]
newer version of zip for test.zip

4 years agoupdate to python3 and latest cmake and autoreconf
Guido Draheim [Mon, 13 Apr 2020 10:48:20 +0000 (12:48 +0200)]
update to python3 and latest cmake and autoreconf

4 years agoupdate to python3 in docs/*
Guido Draheim [Mon, 13 Apr 2020 10:47:25 +0000 (12:47 +0200)]
update to python3 in docs/*

4 years agofix testsuite to skip the latest one
Guido Draheim [Mon, 13 Apr 2020 10:44:59 +0000 (12:44 +0200)]
fix testsuite to skip the latest one

4 years agoigno
Guido Draheim [Mon, 13 Apr 2020 09:53:15 +0000 (11:53 +0200)]
igno

4 years agoigno
Guido Draheim [Mon, 13 Apr 2020 09:53:15 +0000 (11:53 +0200)]
igno

5 years agoMerge pull request #82 from pks-t/pks/doc-fixes
Guido U. Draheim [Mon, 5 Aug 2019 05:48:38 +0000 (07:48 +0200)]
Merge pull request #82 from pks-t/pks/doc-fixes

docs: fix various warnings

5 years agoMerge pull request #81 from pks-t/pks/zzipdoc-print-statement
Guido U. Draheim [Mon, 5 Aug 2019 05:47:32 +0000 (07:47 +0200)]
Merge pull request #81 from pks-t/pks/zzipdoc-print-statement

zzipdoc: convert use of print statement

5 years agodocs: fix various warnings
Patrick Steinhardt [Wed, 22 May 2019 18:55:24 +0000 (20:55 +0200)]
docs: fix various warnings

There's various warnings in the generated documentation either due to
missing links or to mistaken use of simple comments `/* */` instead of
docstyle comments `/** */`. Fix some of these by converting to docstyle
comments or fixing the referenced function names.

5 years agozzipdoc: convert use of print statement
Patrick Steinhardt [Sun, 4 Aug 2019 18:49:37 +0000 (20:49 +0200)]
zzipdoc: convert use of print statement

Commit 5b660a3 (Merge pull request #72 from jelly/python3, 2019-08-04)
introduced a conversion to use new-style Python exceptions.
The conversion introduced a new print statements, though, breaking
compatibility with Python 3 again.

Convert the statement to use the print function, instead.

5 years agoMerge pull request #66 from imartisko/master
Guido U. Draheim [Sun, 4 Aug 2019 18:00:21 +0000 (20:00 +0200)]
Merge pull request #66 from imartisko/master

fseeko.c: fix possible double free of buffer

5 years agoMerge pull request #66 from imartisko/master
Guido U. Draheim [Sun, 4 Aug 2019 18:00:21 +0000 (20:00 +0200)]
Merge pull request #66 from imartisko/master

fseeko.c: fix possible double free of buffer

5 years agoMerge pull request #75 from pks-t/pks/compiler-warnings
Guido U. Draheim [Sun, 4 Aug 2019 17:58:52 +0000 (19:58 +0200)]
Merge pull request #75 from pks-t/pks/compiler-warnings

Fixes to various compiler warnings

5 years agoMerge pull request #72 from jelly/python3
Guido U. Draheim [Sun, 4 Aug 2019 16:58:10 +0000 (18:58 +0200)]
Merge pull request #72 from jelly/python3

5 years agoMerge pull request #74 from jmoellers/bsc-1129403
Guido U. Draheim [Wed, 12 Jun 2019 17:50:32 +0000 (19:50 +0200)]
Merge pull request #74 from jmoellers/bsc-1129403

Prevent division by zero

5 years agoMerge pull request #72 from jelly/python3
Guido U. Draheim [Sun, 4 Aug 2019 16:58:10 +0000 (18:58 +0200)]
Merge pull request #72 from jelly/python3

docs: convert exception statements to Python 3 compatible

5 years agoMerge pull request #79 from pks-t/pks/test-errors
Guido U. Draheim [Sun, 4 Aug 2019 16:55:17 +0000 (18:55 +0200)]
Merge pull request #79 from pks-t/pks/test-errors

Improve cross-platform compatibility of test suite

5 years agoMerge pull request #78 from pks-t/pks/cmake-fixes
Guido U. Draheim [Sun, 4 Aug 2019 16:53:51 +0000 (18:53 +0200)]
Merge pull request #78 from pks-t/pks/cmake-fixes

CMake fixes

5 years agoMerge pull request #76 from pks-t/pks/python-fixes
Guido U. Draheim [Sun, 4 Aug 2019 16:51:16 +0000 (18:51 +0200)]
Merge pull request #76 from pks-t/pks/python-fixes

Smallish Python fixes

5 years agoMerge pull request #80 from pks-t/pks/python3
Guido U. Draheim [Sun, 4 Aug 2019 11:05:37 +0000 (13:05 +0200)]
Merge pull request #80 from pks-t/pks/python3

Python 3 support

5 years agoazure: install Python3 xmlreporting
Patrick Steinhardt [Thu, 1 Aug 2019 07:50:22 +0000 (09:50 +0200)]
azure: install Python3 xmlreporting

With recent changes CMake is now favoring Python 3 instead of Python 2.
As Ubuntu has both versions of the interpreter installed, Azure has thus
started to use Python 3, but will fail due to a missing dependency on
xmlreporting when executing tests. This is caused by us installing
xmlreporting for Python 2, only.

As there is no python3-xmlreporting package available in Ubuntu, install
python3-pip instead and use it to install unittest-xml-reporting.

5 years agocmake: use either Python 2 or Python 3
Patrick Steinhardt [Thu, 1 Aug 2019 06:36:30 +0000 (08:36 +0200)]
cmake: use either Python 2 or Python 3

Now that all Python scripts are compatible with Python 2 and Python 3,
we can instruct CMake to not care for which Python interpreter is
available. Thus, convert to use the newer FindPython package without
specifying a version.

5 years agodocs: do not inherit str for Match
Patrick Steinhardt [Thu, 23 May 2019 21:01:44 +0000 (23:01 +0200)]
docs: do not inherit str for Match

Instead of inheriting str, we can simply implement `__repr__` to return
a string representation of the pattern itself. This fixes compatibility
with Python 3, which throws when executing `str.__init__`.

5 years agodocs: call `replace` directory on string object
Patrick Steinhardt [Thu, 23 May 2019 20:58:38 +0000 (22:58 +0200)]
docs: call `replace` directory on string object

In Python 3, the function string.replace has been removed in favor of
using replace on the string class directly. As Python 2.7 already
supports this variant, convert all instances of the old way to call
replace on the object.

5 years agodocs: convert calls to `has_key` function
Patrick Steinhardt [Thu, 23 May 2019 20:37:22 +0000 (22:37 +0200)]
docs: convert calls to `has_key` function

The `has_key` function for dictionaries has been removed with Python 3
in favor of the new `in` keyword. Convert all uses of the old function
in favor of the new to improve compatibility with Python 3.

5 years agodocs: use print function for compatibility with Python 3
Patrick Steinhardt [Thu, 23 May 2019 20:37:01 +0000 (22:37 +0200)]
docs: use print function for compatibility with Python 3

Another quite visible change with Python 3 is that the old `print`
statement has been replaced with a function. To ease migration to the
newer way, Python 2.7 provides a compatibility module "print_function".

Convert all code in docs to use the new function syntax.

5 years agodocs: exception syntax compatibility with Python 3
Patrick Steinhardt [Thu, 23 May 2019 20:20:23 +0000 (22:20 +0200)]
docs: exception syntax compatibility with Python 3

Since Python 2.7, there exists a new syntax to catch errors: the old way
of saying `except IOError, error` has been replaced with `except IOError
as e`. The old syntax has finally been removed in Python 3, but as we're
still using it in zziplib newer interpreters will raise a parsing error.

Convert to use the new syntax to improve compatibility with Python 3.

5 years agodocs: more carefully handle relative module imports
Patrick Steinhardt [Thu, 23 May 2019 20:15:31 +0000 (22:15 +0200)]
docs: more carefully handle relative module imports

The way how relative module imports are handled has changed with Python
3, causing it to throw exceptions when we try to import zzipdoc.*
modules.

Fix this by specifying the base module from which we import fo fix
compatibility with Python 3.

5 years agotest: use XMLTestRunner output parameter
Patrick Steinhardt [Thu, 1 Aug 2019 08:08:21 +0000 (10:08 +0200)]
test: use XMLTestRunner output parameter

Instead of manually opening the output file for the XMLTestRunner one
can simply specify the output file by passing its path as "output"
parameter.

This fixes encoding issues with Python 3.

5 years agotest: specify subprocess encoding to be UTF-8
Patrick Steinhardt [Wed, 22 May 2019 19:52:52 +0000 (21:52 +0200)]
test: specify subprocess encoding to be UTF-8

One of the most important and user-visible changes in Python 3 was that
when reading strings from some , one always needs to specify the
encoding lest the dreaded UnicodeException would occur if there were any
characters outside of the ASCII range. In the test suite, we're using a
subprocess taht communicates with the shell, but we do not specify the
encoding of both its stdout and stderr previous to reading them.

Explicitly decode both their output and error streams to UTF-8 to avoid
any exceptions raised by Python 3.

5 years agotest: basestring compatibility with Python 3
Patrick Steinhardt [Wed, 22 May 2019 19:22:01 +0000 (21:22 +0200)]
test: basestring compatibility with Python 3

In Python 2, strings were represented by the class basestring, which has
been removed in Python 3 in favor of the str class. To keep
compatibility with both versions of Python, let's alias basestring to
str if basestring is not available.

5 years agotest: use Python3-compatible way to specify octal numbers
Patrick Steinhardt [Wed, 22 May 2019 19:21:43 +0000 (21:21 +0200)]
test: use Python3-compatible way to specify octal numbers

Support for zero-prefixed octal numbers ("0755") has been removed in
Python 3 in favor of the zero-oh-prefix ("0o755"). As the latter has
been introduced in Python 2.6, we can safely switch all occurrences of
the former with the new way to improve compatibility with Python 3.

5 years agotest: avoid use of xrange for compatibility
Patrick Steinhardt [Wed, 22 May 2019 19:21:34 +0000 (21:21 +0200)]
test: avoid use of xrange for compatibility

Back in Python 2 days, there were two functions `range` and `xrange`.
While `range` returned a list, `xrange` would return a generator and
thus be the more efficient variant if a big range needs to be handled.
With Python 3, the `xrange` function was removed in favor of always
returning a generator for `range`.

Convert all uses of `xrange` to `range`. While this may be less
efficient in some places for old Python versions, their support is going
to be dropped in 2020 anyway. Also, `xrange` is only ever used in the
test suite.

5 years agotest: StringIO compatibility with Python 3
Patrick Steinhardt [Wed, 22 May 2019 19:21:16 +0000 (21:21 +0200)]
test: StringIO compatibility with Python 3

With Python 3, StringIO has been moved from the "cStringIO" module to
the "io" module. Use a try-catch block to intercept ImportErrors and
fall back to the new module to support both Python 2 and Python 3.

5 years agotest: urllib compatibility with Python 3
Patrick Steinhardt [Wed, 22 May 2019 19:20:52 +0000 (21:20 +0200)]
test: urllib compatibility with Python 3

In Python 3, the functions `quote_plus` and `urlretrieve` have been
moved from urllib to urllib.parse and urllib.request, respectively. To
provide compatibility with the old and new module layouts, use a
try-catch block and fall back to the new layout if an ImportError was
raised.

Furthermore, do not hand-code `urlretrieve` functionality with
`urlopen` to avoid additional compatibility issues.

5 years agotests: loosen expectations for external info-zip tool
Patrick Steinhardt [Wed, 22 May 2019 11:24:05 +0000 (13:24 +0200)]
tests: loosen expectations for external info-zip tool

In our test suite, we're verifying some archives by utilizing the
unzip(1) program provided by info-zip.org. Due to changes to info-zip,
our test case 59770 may fail on some systems as we expect it to spit out
error messages in a specific format. Loosen those restrictions to make
the test pass on more systems.

5 years agotest: fix error message tests on non-glibc based systems
Patrick Steinhardt [Wed, 22 May 2019 09:49:53 +0000 (11:49 +0200)]
test: fix error message tests on non-glibc based systems

Our tests makes strict assumptions on the error messages generated by
strerror(3P), but those aren't in any way required to have a special
text. This works just fine on glibc based systems, but causes us to
trigger asserts on other systems like e.g. musl based ones.

Fix this by introducing a new `assertErrorMessage` method. It'll take as
inputs the observed error message as well as the error code we expect
and then use `os.strerror` to compute the expected message. Like this,
we're not dependent anymore on how the system represents those error
messages but generate the expected ones on the fly.

5 years agozzip: memdisk: use correct type when when copying extra blocks
Patrick Steinhardt [Tue, 21 May 2019 11:45:43 +0000 (13:45 +0200)]
zzip: memdisk: use correct type when when copying extra blocks

The data field of `struct zzip_disk` is of type `zzip_byte_t *`, which
is unsigned, but we store them in a `char` field and thus cause
signedness warnings on platforms where `char` is signed. Fix this by
using `zzip_byte_t`, instead.

5 years agozzip: memdisk: fix wrong formatter
Patrick Steinhardt [Tue, 21 May 2019 11:41:15 +0000 (13:41 +0200)]
zzip: memdisk: fix wrong formatter

In `zzip_mem_disk_fdopen`, there's two debug calls with format strings
that print out the file descriptor that we're about to open. While the
first format string correctly uses "%i" to print the integer, the second
one accidentally uses "%s". Fix this by using "%i" for both.

5 years agozzip: info: avoid warning due to comparison with different signedness
Patrick Steinhardt [Tue, 21 May 2019 11:39:50 +0000 (13:39 +0200)]
zzip: info: avoid warning due to comparison with different signedness

In `zzip_compr_str` we compare the integer value `compr` with
`LENGTH(comprlevel)`, which returns an unsigned value, causing the
compiler to emit a warning. As we're already verifying that `compr` is a
positive value, we can just cast it to an unsigned integer to avoid that
warning.

5 years agozzip: fseeko: do not redefine `PAGESIZE`
Patrick Steinhardt [Tue, 21 May 2019 11:38:44 +0000 (13:38 +0200)]
zzip: fseeko: do not redefine `PAGESIZE`

If we've already pulled in the `PAGESIZE` macro via some transitive
headers, we don't want to redefine its value.

5 years agozzip: fseeko: fix comparison between incompatible pointer types
Patrick Steinhardt [Tue, 21 May 2019 11:24:29 +0000 (13:24 +0200)]
zzip: fseeko: fix comparison between incompatible pointer types

The C standard does not allow for comparing incompatible pointer types
with each other. This causes the C compiler to emit a warning when we
try to compare a pointer of type `struct zzip_disk64_trailer` (cast to
`void *`) with a pointer of type `unsigned char`.

Fix this by comparing `p + sizeof(trailer)` with `buffer + mapsize`
instead of using the cast struct.

5 years agozzip: fseeko: fix signedness mismatch with `file->avail`
Patrick Steinhardt [Tue, 21 May 2019 11:19:39 +0000 (13:19 +0200)]
zzip: fseeko: fix signedness mismatch with `file->avail`

While the `avail` field of `struct zzip_entry_file` is of unsigned type
`zzip_size_t`, we assign it to a local variable of `zzip_off_t` in
`zzip_entry_fopen`, which is of signed type. This causes the compiler to
emit a warning due to signedness when comparing it with
`sizeof(file->buffer)`.

Fix this by using the correct type for the local variable.

5 years agozzip: format: explicitly mark header length constants as unsigned
Patrick Steinhardt [Tue, 21 May 2019 11:15:36 +0000 (13:15 +0200)]
zzip: format: explicitly mark header length constants as unsigned

The various different `headerlength` macros in "format.h" are defined as
simple additions of all the field lengths of its struct representation.
While it is obvious that the resulting constants are always positive,
the C language specifies the result as a signed integer, causing
warnings at several places due to comparisons with different signedness.

Fix the issue by explicitly marking the constants as unsigned. A simpler
fix would just replace those constants with `sizeof`, which should be
fine due to the struct's being marked as packed. But for the sake of
simplicitly, let's just stay with the more obvious fix.

5 years agozzip: string: fix comparison with different signs
Patrick Steinhardt [Tue, 21 May 2019 11:10:22 +0000 (13:10 +0200)]
zzip: string: fix comparison with different signs

When subtracting two pointers, the result is signed as the subtrahend
may point at a position after the minuend, in which case it is bigger
and the result would be negative. This causes a warning in
`_zzip_strnlen`, which is supposed to return an unsigned `size_t`.

As the minuend is computed by using `memchr` on the subtrahend, we know
that it is always either `NULL` or bigger than the subtrahend. And due
to the subtraction only being performed when it is non-`NULL`, we may
simply cast the result to `size_t` to fix the issue, fixing the warning.

5 years agozzip: string: fix invalid malloc attribute
Patrick Steinhardt [Tue, 21 May 2019 11:04:03 +0000 (13:04 +0200)]
zzip: string: fix invalid malloc attribute

The `_zzip_strnlen` function is annotated with the `zzip_new__` macro,
which is defined to `__attribute__((malloc))` on systems which support
this attribute. The malloc attribute can be applied to functions that
return a pointer value, indicating that a returned non-NULL pointer
cannot alias and that its contents have undefined content. But as
`_zzip_strnlen` neither performs an allocation nor returns a pointer to
memory, we cannot use that attribute here.

Remove it to fix a compiler warning.

5 years agotest: zziptests: correctly honor bindir option
Patrick Steinhardt [Tue, 21 May 2019 12:26:49 +0000 (14:26 +0200)]
test: zziptests: correctly honor bindir option

While there is a "--bindir" option added to the option parser of
zziptests.py, we never update the global "bindir" variable to the new
value. Do so to fix it not getting honored.

5 years agodocs: dbk2man: fix deprecated way of checking for `None`
Patrick Steinhardt [Tue, 21 May 2019 12:24:49 +0000 (14:24 +0200)]
docs: dbk2man: fix deprecated way of checking for `None`

In oldish versions of Python, it was possible to check for `None` by
simply saying `if not X`, while the newer way would explicitly check `if
X is None`. Use the latter way of asking for None, which has been
supported at least since Python 2.6.

5 years agocmake: do not modify test file in source dir
Patrick Steinhardt [Tue, 21 May 2019 19:40:10 +0000 (21:40 +0200)]
cmake: do not modify test file in source dir

When doing out-of-tree builds, a golden rule is to not touch any files
inside of the source directory. This rule is being violated by our tests
CMake instructions, which generate a "test0.zip" file and copy it over
the file "test/test.zip" in our source directory.

Stop doing this. We already copy the "test0.zip" to "test.zip" in the
binary directory, and all tests should be using that one.

5 years agoMerge pull request #74 from jmoellers/bsc-1129403
Guido U. Draheim [Wed, 12 Jun 2019 17:50:32 +0000 (19:50 +0200)]
Merge pull request #74 from jmoellers/bsc-1129403

Prevent division by zero

5 years agoazure master/develop
Guido Draheim [Sun, 26 May 2019 11:28:26 +0000 (13:28 +0200)]
azure master/develop

5 years agoazure master/develop
Guido Draheim [Sun, 26 May 2019 11:28:02 +0000 (13:28 +0200)]
azure master/develop

5 years agoazure make check
Guido Draheim [Sun, 26 May 2019 11:24:46 +0000 (13:24 +0200)]
azure make check

5 years agoazure make check
Guido Draheim [Sun, 26 May 2019 11:24:29 +0000 (13:24 +0200)]
azure make check

5 years agopublish testresults.xml
Guido Draheim [Sun, 26 May 2019 11:14:31 +0000 (13:14 +0200)]
publish testresults.xml

5 years agochange testresults.xml
Guido Draheim [Sun, 26 May 2019 11:14:21 +0000 (13:14 +0200)]
change testresults.xml

5 years agoxmlresults
Guido Draheim [Sun, 26 May 2019 11:04:35 +0000 (13:04 +0200)]
xmlresults

5 years agocmake zziptest
Guido Draheim [Sun, 26 May 2019 10:57:11 +0000 (12:57 +0200)]
cmake zziptest

5 years agocmake ZZIP_PACKAGE_VERSION and NAME
Guido Draheim [Sun, 26 May 2019 10:53:27 +0000 (12:53 +0200)]
cmake ZZIP_PACKAGE_VERSION and NAME

5 years agoreplace ZZIP_VERSION/ZZIP_PACKAGE_VERSION ZZIP_PACKAGE/ZZIP_PACKAGE_NAME
Guido Draheim [Sun, 26 May 2019 10:52:45 +0000 (12:52 +0200)]
replace ZZIP_VERSION/ZZIP_PACKAGE_VERSION ZZIP_PACKAGE/ZZIP_PACKAGE_NAME

5 years agomake check xmlrunner
Guido Draheim [Sun, 26 May 2019 10:24:15 +0000 (12:24 +0200)]
make check xmlrunner

5 years agobinary-dir for zzip/_config.h
Guido Draheim [Sun, 26 May 2019 10:12:08 +0000 (12:12 +0200)]
binary-dir for zzip/_config.h