libmspack 0.10.1.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/ext/libmspack/ChangeLog +145 -0
- data/ext/libmspack/INSTALL +3 -3
- data/ext/libmspack/Makefile.am +7 -4
- data/ext/libmspack/Makefile.in +265 -147
- data/ext/libmspack/README +3 -2
- data/ext/libmspack/aclocal.m4 +111 -113
- data/ext/libmspack/ar-lib +10 -9
- data/ext/libmspack/compile +9 -8
- data/ext/libmspack/config.guess +887 -613
- data/ext/libmspack/config.h.in +6 -9
- data/ext/libmspack/config.sub +1349 -1260
- data/ext/libmspack/configure +3035 -2490
- data/ext/libmspack/configure.ac +3 -3
- data/ext/libmspack/depcomp +4 -4
- data/ext/libmspack/install-sh +107 -74
- data/ext/libmspack/libmscabd.la +1 -1
- data/ext/libmspack/libmschmd.la +1 -1
- data/ext/libmspack/libmspack.la +1 -1
- data/ext/libmspack/ltmain.sh +156 -61
- data/ext/libmspack/m4/libtool.m4 +19 -12
- data/ext/libmspack/missing +8 -8
- data/ext/libmspack/mspack/cabd.c +21 -19
- data/ext/libmspack/mspack/chm.h +3 -2
- data/ext/libmspack/mspack/chmd.c +137 -57
- data/ext/libmspack/mspack/kwajd.c +29 -29
- data/ext/libmspack/mspack/lzx.h +0 -1
- data/ext/libmspack/mspack/lzxd.c +30 -154
- data/ext/libmspack/mspack/macros.h +64 -0
- data/ext/libmspack/mspack/mszipd.c +7 -18
- data/ext/libmspack/mspack/qtmd.c +3 -5
- data/ext/libmspack/mspack/readbits.h +14 -5
- data/ext/libmspack/mspack/readhuff.h +26 -21
- data/ext/libmspack/mspack/system.c +0 -5
- data/ext/libmspack/mspack/system.h +20 -67
- data/ext/libmspack/test-driver +16 -11
- data/ext/x86_64-linux/libmspack.so +0 -0
- data/ext/x86_64-windows/mspack.dll +0 -0
- data/lib/libmspack/version.rb +1 -1
- metadata +4 -3
data/ext/libmspack/configure.ac
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# -*- Autoconf -*-
|
2
2
|
# Process this file with autoconf to produce a configure script.
|
3
3
|
AC_PREREQ(2.59)
|
4
|
-
AC_INIT([libmspack],[0.
|
4
|
+
AC_INIT([libmspack],[0.11alpha],[kyzer@cabextract.org.uk])
|
5
5
|
AC_CONFIG_MACRO_DIR([m4])
|
6
6
|
AM_INIT_AUTOMAKE([1.11])
|
7
7
|
AM_SILENT_RULES([yes])
|
8
8
|
AC_CONFIG_SRCDIR([mspack/mspack.h])
|
9
|
-
|
9
|
+
AC_CONFIG_HEADERS([config.h])
|
10
10
|
|
11
11
|
# --enable-debug option
|
12
12
|
AC_ARG_ENABLE(debug,
|
@@ -34,7 +34,6 @@ AC_C_BIGENDIAN
|
|
34
34
|
AC_TYPE_MODE_T
|
35
35
|
AC_TYPE_OFF_T
|
36
36
|
AC_TYPE_SIZE_T
|
37
|
-
AC_CHECK_SIZEOF([off_t])
|
38
37
|
|
39
38
|
# Checks for library functions
|
40
39
|
AX_FUNC_MKDIR
|
@@ -43,6 +42,7 @@ AC_CHECK_FUNCS([towlower])
|
|
43
42
|
# largefile support
|
44
43
|
AC_SYS_LARGEFILE
|
45
44
|
AC_FUNC_FSEEKO
|
45
|
+
AC_CHECK_SIZEOF([off_t])
|
46
46
|
|
47
47
|
AC_CONFIG_FILES([Makefile libmspack.pc])
|
48
48
|
AC_OUTPUT
|
data/ext/libmspack/depcomp
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#! /bin/sh
|
2
2
|
# depcomp - compile a program generating dependencies as side-effects
|
3
3
|
|
4
|
-
scriptversion=
|
4
|
+
scriptversion=2018-03-07.03; # UTC
|
5
5
|
|
6
|
-
# Copyright (C) 1999-
|
6
|
+
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
7
7
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
9
9
|
# it under the terms of the GNU General Public License as published by
|
@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
|
|
16
16
|
# GNU General Public License for more details.
|
17
17
|
|
18
18
|
# You should have received a copy of the GNU General Public License
|
19
|
-
# along with this program. If not, see <
|
19
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
20
20
|
|
21
21
|
# As a special exception to the GNU General Public License, if you
|
22
22
|
# distribute this file as part of a program that contains a
|
@@ -783,7 +783,7 @@ exit 0
|
|
783
783
|
# Local Variables:
|
784
784
|
# mode: shell-script
|
785
785
|
# sh-indentation: 2
|
786
|
-
# eval: (add-hook '
|
786
|
+
# eval: (add-hook 'before-save-hook 'time-stamp)
|
787
787
|
# time-stamp-start: "scriptversion="
|
788
788
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
789
789
|
# time-stamp-time-zone: "UTC0"
|
data/ext/libmspack/install-sh
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/bin/sh
|
2
2
|
# install - install a program, script, or datafile
|
3
3
|
|
4
|
-
scriptversion=
|
4
|
+
scriptversion=2020-11-14.01; # UTC
|
5
5
|
|
6
6
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
7
7
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
@@ -69,6 +69,11 @@ posix_mkdir=
|
|
69
69
|
# Desired mode of installed file.
|
70
70
|
mode=0755
|
71
71
|
|
72
|
+
# Create dirs (including intermediate dirs) using mode 755.
|
73
|
+
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
74
|
+
mkdir_umask=22
|
75
|
+
|
76
|
+
backupsuffix=
|
72
77
|
chgrpcmd=
|
73
78
|
chmodcmd=$chmodprog
|
74
79
|
chowncmd=
|
@@ -99,18 +104,28 @@ Options:
|
|
99
104
|
--version display version info and exit.
|
100
105
|
|
101
106
|
-c (ignored)
|
102
|
-
-C install only if different (preserve
|
107
|
+
-C install only if different (preserve data modification time)
|
103
108
|
-d create directories instead of installing files.
|
104
109
|
-g GROUP $chgrpprog installed files to GROUP.
|
105
110
|
-m MODE $chmodprog installed files to MODE.
|
106
111
|
-o USER $chownprog installed files to USER.
|
112
|
+
-p pass -p to $cpprog.
|
107
113
|
-s $stripprog installed files.
|
114
|
+
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
|
108
115
|
-t DIRECTORY install into DIRECTORY.
|
109
116
|
-T report an error if DSTFILE is a directory.
|
110
117
|
|
111
118
|
Environment variables override the default commands:
|
112
119
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
113
120
|
RMPROG STRIPPROG
|
121
|
+
|
122
|
+
By default, rm is invoked with -f; when overridden with RMPROG,
|
123
|
+
it's up to you to specify -f if you want it.
|
124
|
+
|
125
|
+
If -S is not specified, no backups are attempted.
|
126
|
+
|
127
|
+
Email bug reports to bug-automake@gnu.org.
|
128
|
+
Automake home page: https://www.gnu.org/software/automake/
|
114
129
|
"
|
115
130
|
|
116
131
|
while test $# -ne 0; do
|
@@ -137,8 +152,13 @@ while test $# -ne 0; do
|
|
137
152
|
-o) chowncmd="$chownprog $2"
|
138
153
|
shift;;
|
139
154
|
|
155
|
+
-p) cpprog="$cpprog -p";;
|
156
|
+
|
140
157
|
-s) stripcmd=$stripprog;;
|
141
158
|
|
159
|
+
-S) backupsuffix="$2"
|
160
|
+
shift;;
|
161
|
+
|
142
162
|
-t)
|
143
163
|
is_target_a_directory=always
|
144
164
|
dst_arg=$2
|
@@ -255,6 +275,10 @@ do
|
|
255
275
|
dstdir=$dst
|
256
276
|
test -d "$dstdir"
|
257
277
|
dstdir_status=$?
|
278
|
+
# Don't chown directories that already exist.
|
279
|
+
if test $dstdir_status = 0; then
|
280
|
+
chowncmd=""
|
281
|
+
fi
|
258
282
|
else
|
259
283
|
|
260
284
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
@@ -271,15 +295,18 @@ do
|
|
271
295
|
fi
|
272
296
|
dst=$dst_arg
|
273
297
|
|
274
|
-
# If destination is a directory, append the input filename
|
275
|
-
# if double slashes aren't ignored.
|
298
|
+
# If destination is a directory, append the input filename.
|
276
299
|
if test -d "$dst"; then
|
277
300
|
if test "$is_target_a_directory" = never; then
|
278
301
|
echo "$0: $dst_arg: Is a directory" >&2
|
279
302
|
exit 1
|
280
303
|
fi
|
281
304
|
dstdir=$dst
|
282
|
-
|
305
|
+
dstbase=`basename "$src"`
|
306
|
+
case $dst in
|
307
|
+
*/) dst=$dst$dstbase;;
|
308
|
+
*) dst=$dst/$dstbase;;
|
309
|
+
esac
|
283
310
|
dstdir_status=0
|
284
311
|
else
|
285
312
|
dstdir=`dirname "$dst"`
|
@@ -288,27 +315,16 @@ do
|
|
288
315
|
fi
|
289
316
|
fi
|
290
317
|
|
318
|
+
case $dstdir in
|
319
|
+
*/) dstdirslash=$dstdir;;
|
320
|
+
*) dstdirslash=$dstdir/;;
|
321
|
+
esac
|
322
|
+
|
291
323
|
obsolete_mkdir_used=false
|
292
324
|
|
293
325
|
if test $dstdir_status != 0; then
|
294
326
|
case $posix_mkdir in
|
295
327
|
'')
|
296
|
-
# Create intermediate dirs using mode 755 as modified by the umask.
|
297
|
-
# This is like FreeBSD 'install' as of 1997-10-28.
|
298
|
-
umask=`umask`
|
299
|
-
case $stripcmd.$umask in
|
300
|
-
# Optimize common cases.
|
301
|
-
*[2367][2367]) mkdir_umask=$umask;;
|
302
|
-
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
303
|
-
|
304
|
-
*[0-7])
|
305
|
-
mkdir_umask=`expr $umask + 22 \
|
306
|
-
- $umask % 100 % 40 + $umask % 20 \
|
307
|
-
- $umask % 10 % 4 + $umask % 2
|
308
|
-
`;;
|
309
|
-
*) mkdir_umask=$umask,go-w;;
|
310
|
-
esac
|
311
|
-
|
312
328
|
# With -d, create the new directory with the user-specified mode.
|
313
329
|
# Otherwise, rely on $mkdir_umask.
|
314
330
|
if test -n "$dir_arg"; then
|
@@ -318,50 +334,49 @@ do
|
|
318
334
|
fi
|
319
335
|
|
320
336
|
posix_mkdir=false
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
esac;;
|
337
|
+
# The $RANDOM variable is not portable (e.g., dash). Use it
|
338
|
+
# here however when possible just to lower collision chance.
|
339
|
+
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
340
|
+
|
341
|
+
trap '
|
342
|
+
ret=$?
|
343
|
+
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
|
344
|
+
exit $ret
|
345
|
+
' 0
|
346
|
+
|
347
|
+
# Because "mkdir -p" follows existing symlinks and we likely work
|
348
|
+
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
349
|
+
# directory is successfully created first before we actually test
|
350
|
+
# 'mkdir -p'.
|
351
|
+
if (umask $mkdir_umask &&
|
352
|
+
$mkdirprog $mkdir_mode "$tmpdir" &&
|
353
|
+
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
354
|
+
then
|
355
|
+
if test -z "$dir_arg" || {
|
356
|
+
# Check for POSIX incompatibilities with -m.
|
357
|
+
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
358
|
+
# other-writable bit of parent directory when it shouldn't.
|
359
|
+
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
360
|
+
test_tmpdir="$tmpdir/a"
|
361
|
+
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
362
|
+
case $ls_ld_tmpdir in
|
363
|
+
d????-?r-*) different_mode=700;;
|
364
|
+
d????-?--*) different_mode=755;;
|
365
|
+
*) false;;
|
366
|
+
esac &&
|
367
|
+
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
368
|
+
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
369
|
+
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
370
|
+
}
|
371
|
+
}
|
372
|
+
then posix_mkdir=:
|
373
|
+
fi
|
374
|
+
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
375
|
+
else
|
376
|
+
# Remove any dirs left behind by ancient mkdir implementations.
|
377
|
+
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
378
|
+
fi
|
379
|
+
trap '' 0;;
|
365
380
|
esac
|
366
381
|
|
367
382
|
if
|
@@ -372,7 +387,7 @@ do
|
|
372
387
|
then :
|
373
388
|
else
|
374
389
|
|
375
|
-
#
|
390
|
+
# mkdir does not conform to POSIX,
|
376
391
|
# or it failed possibly due to a race condition. Create the
|
377
392
|
# directory the slow way, step by step, checking for races as we go.
|
378
393
|
|
@@ -401,7 +416,7 @@ do
|
|
401
416
|
prefixes=
|
402
417
|
else
|
403
418
|
if $posix_mkdir; then
|
404
|
-
(umask
|
419
|
+
(umask $mkdir_umask &&
|
405
420
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
406
421
|
# Don't fail if two instances are running concurrently.
|
407
422
|
test -d "$prefix" || exit 1
|
@@ -434,14 +449,25 @@ do
|
|
434
449
|
else
|
435
450
|
|
436
451
|
# Make a couple of temp file names in the proper directory.
|
437
|
-
dsttmp=$
|
438
|
-
rmtmp=$
|
452
|
+
dsttmp=${dstdirslash}_inst.$$_
|
453
|
+
rmtmp=${dstdirslash}_rm.$$_
|
439
454
|
|
440
455
|
# Trap to clean up those temp files at exit.
|
441
456
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
442
457
|
|
443
458
|
# Copy the file name to the temp name.
|
444
|
-
(umask $cp_umask &&
|
459
|
+
(umask $cp_umask &&
|
460
|
+
{ test -z "$stripcmd" || {
|
461
|
+
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
462
|
+
# which would cause strip to fail.
|
463
|
+
if test -z "$doit"; then
|
464
|
+
: >"$dsttmp" # No need to fork-exec 'touch'.
|
465
|
+
else
|
466
|
+
$doit touch "$dsttmp"
|
467
|
+
fi
|
468
|
+
}
|
469
|
+
} &&
|
470
|
+
$doit_exec $cpprog "$src" "$dsttmp") &&
|
445
471
|
|
446
472
|
# and set any options; do chmod last to preserve setuid bits.
|
447
473
|
#
|
@@ -467,6 +493,13 @@ do
|
|
467
493
|
then
|
468
494
|
rm -f "$dsttmp"
|
469
495
|
else
|
496
|
+
# If $backupsuffix is set, and the file being installed
|
497
|
+
# already exists, attempt a backup. Don't worry if it fails,
|
498
|
+
# e.g., if mv doesn't support -f.
|
499
|
+
if test -n "$backupsuffix" && test -f "$dst"; then
|
500
|
+
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
|
501
|
+
fi
|
502
|
+
|
470
503
|
# Rename the file to the real destination.
|
471
504
|
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
472
505
|
|
@@ -481,9 +514,9 @@ do
|
|
481
514
|
# file should still install successfully.
|
482
515
|
{
|
483
516
|
test ! -f "$dst" ||
|
484
|
-
$doit $rmcmd
|
517
|
+
$doit $rmcmd "$dst" 2>/dev/null ||
|
485
518
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
486
|
-
{ $doit $rmcmd
|
519
|
+
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
|
487
520
|
} ||
|
488
521
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
489
522
|
(exit 1); exit 1
|
@@ -500,9 +533,9 @@ do
|
|
500
533
|
done
|
501
534
|
|
502
535
|
# Local variables:
|
503
|
-
# eval: (add-hook '
|
536
|
+
# eval: (add-hook 'before-save-hook 'time-stamp)
|
504
537
|
# time-stamp-start: "scriptversion="
|
505
538
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
506
|
-
# time-stamp-time-zone: "
|
539
|
+
# time-stamp-time-zone: "UTC0"
|
507
540
|
# time-stamp-end: "; # UTC"
|
508
541
|
# End:
|
data/ext/libmspack/libmscabd.la
CHANGED
data/ext/libmspack/libmschmd.la
CHANGED
data/ext/libmspack/libmspack.la
CHANGED