cosmopolitan/third_party/unzip
Justine Tunney 1ee2e89326
Make improvements
- This commit mints a new release of APE Loader v1.2 which supports
  loading ELF programs with a non-contiguous virtual address layout
  even though we've never been able to take advantage of it, due to
  how `objcopy -SO binary` fills any holes left by PT_LOAD. This'll
  change soon, since we'll have a new way of creating APE binaries.

- The undiamonding trick with our ioctl() implementation is removed
  since POSIX has been killing ioctl() for years and they've done a
  much better job. One problem it resolves, is that ioctl(FIONREAD)
  wasn't working earlier and that caused issues when building Emacs
2023-07-11 04:41:50 -07:00
..
unix Work around Landlock output inode in compile.com 2022-08-09 07:55:44 -07:00
api.c Revert whitespace fixes to third_party (#501) 2022-07-21 21:46:07 -07:00
apihelp.c Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
consts.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
crc32.c Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
crc32.h Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
crypt.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
crypt.h Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
ebcdic.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
envargs.c Unbloat the build 2022-08-11 00:15:29 -07:00
explode.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
extract.c Fold LIBC_ALG into LIBC_MEM 2022-08-13 08:32:34 -07:00
fileio.c Simplify ftrace_hook() 2023-06-06 11:10:38 -07:00
globals.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
globals.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
inflate.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
inflate.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
LICENSE Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
list.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
match.c Revert whitespace fixes to third_party (#501) 2022-07-21 21:46:07 -07:00
process.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
README.cosmo Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
timezone.c Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
timezone.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
ttyio.c Make improvements 2023-07-11 04:41:50 -07:00
ttyio.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
ubz2err.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
unix.c There must only be one strerror() 2023-05-10 15:34:13 -07:00
unreduce.c Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
unshrink.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
unxcfg.h Revert whitespace fixes to third_party (#501) 2022-07-21 21:46:07 -07:00
unzip.c Get repository to build with GCC 11 2022-09-13 04:14:55 -07:00
unzip.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
unzip.mk Clean up more code 2023-06-18 01:00:05 -07:00
unzip.txt Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
unzpriv.h Fold LIBC_UNICODE into LIBC_STR 2022-08-13 08:42:32 -07:00
unzvers.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
zip.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
zipinfo.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
zipinfo.txt Revert whitespace fixes to third_party (#501) 2022-07-21 21:46:07 -07:00

DESCRIPTION

  The UNIX unzip command, courtesy of the Info-ZIP project.

PROVENANCE

  unzip610b.zip (circa 2010)
  https://sourceforge.net/projects/infozip/files/unreleased%20Betas/UnZip%20betas/

LICENSE

  BSD-like with Apache-like requirement that changes be documented.

LOCAL CHANGES

  The only way this software differs from the normal InfoZIP sources is
  that we're linking the Cosmopolitan C Library, which enables it to be
  built as an Actually Portable Executable.

  Minor changes include:

  - Normalization of header / build config for platform / repository
    sed -i -e '/# *include  *<.*/d'  *.*
    sed -i -e 's!# *include  *"!#include "third_party/unzip/!' *.*
    sed -i -e '1 i\// clang-format off' *.c *.h

  - Fixed a lot of static analysis buffer overflow warnings.