libmspack 0.0.5 → 0.10.1.2

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.
Files changed (141) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/rake.yml +37 -0
  3. data/.gitignore +2 -0
  4. data/.yardopts +1 -1
  5. data/README.md +1 -1
  6. data/Rakefile +11 -5
  7. data/ext/Rakefile +1 -1
  8. data/ext/libmspack/AUTHORS +1 -0
  9. data/ext/libmspack/ChangeLog +321 -4
  10. data/ext/libmspack/INSTALL +368 -0
  11. data/ext/libmspack/Makefile.am +86 -95
  12. data/ext/libmspack/Makefile.in +1729 -0
  13. data/ext/libmspack/README +30 -30
  14. data/ext/libmspack/acinclude.m4 +99 -0
  15. data/ext/libmspack/aclocal.m4 +1218 -0
  16. data/ext/libmspack/ar-lib +270 -0
  17. data/ext/libmspack/compile +347 -0
  18. data/ext/libmspack/config.guess +1480 -0
  19. data/ext/libmspack/config.h.in +129 -0
  20. data/ext/libmspack/config.sub +1801 -0
  21. data/ext/libmspack/configure +15487 -0
  22. data/ext/libmspack/configure.ac +11 -13
  23. data/ext/libmspack/depcomp +791 -0
  24. data/ext/libmspack/install-sh +508 -0
  25. data/ext/libmspack/libmscabd.la +41 -0
  26. data/ext/libmspack/libmschmd.la +41 -0
  27. data/ext/libmspack/libmspack.la +41 -0
  28. data/ext/libmspack/ltmain.sh +11156 -0
  29. data/ext/libmspack/m4/libtool.m4 +8387 -0
  30. data/ext/libmspack/m4/ltoptions.m4 +437 -0
  31. data/ext/libmspack/m4/ltsugar.m4 +124 -0
  32. data/ext/libmspack/m4/ltversion.m4 +23 -0
  33. data/ext/libmspack/m4/lt~obsolete.m4 +99 -0
  34. data/ext/libmspack/missing +215 -0
  35. data/ext/libmspack/mspack/cab.h +20 -7
  36. data/ext/libmspack/mspack/cabd.c +301 -236
  37. data/ext/libmspack/mspack/chmd.c +304 -319
  38. data/ext/libmspack/mspack/crc32.c +52 -52
  39. data/ext/libmspack/mspack/crc32.h +1 -1
  40. data/ext/libmspack/mspack/kwajd.c +178 -172
  41. data/ext/libmspack/mspack/lzss.h +4 -4
  42. data/ext/libmspack/mspack/lzssd.c +42 -42
  43. data/ext/libmspack/mspack/lzx.h +11 -11
  44. data/ext/libmspack/mspack/lzxd.c +370 -361
  45. data/ext/libmspack/mspack/mspack.h +109 -77
  46. data/ext/libmspack/mspack/mszip.h +6 -6
  47. data/ext/libmspack/mspack/mszipd.c +140 -139
  48. data/ext/libmspack/mspack/oab.h +1 -0
  49. data/ext/libmspack/mspack/oabd.c +71 -73
  50. data/ext/libmspack/mspack/qtm.h +4 -4
  51. data/ext/libmspack/mspack/qtmd.c +118 -117
  52. data/ext/libmspack/mspack/readbits.h +52 -52
  53. data/ext/libmspack/mspack/readhuff.h +61 -61
  54. data/ext/libmspack/mspack/system.c +15 -9
  55. data/ext/libmspack/mspack/system.h +38 -50
  56. data/ext/libmspack/mspack/szddd.c +35 -35
  57. data/ext/libmspack/test-driver +148 -0
  58. data/ext/x86_64-linux/libmspack.so +0 -0
  59. data/ext/x86_64-windows/mspack.dll +0 -0
  60. data/lib/libmspack/version.rb +2 -1
  61. data/lib/libmspack.rb +1 -1
  62. data/libmspack.gemspec +4 -4
  63. data/spec/libmspack_spec.rb +5 -4
  64. metadata +38 -105
  65. data/.travis.yml +0 -5
  66. data/ext/i386-windows/libmspack.dll +0 -0
  67. data/ext/libmspack/cleanup.sh +0 -9
  68. data/ext/libmspack/debian/changelog +0 -6
  69. data/ext/libmspack/debian/control +0 -14
  70. data/ext/libmspack/debian/rules +0 -101
  71. data/ext/libmspack/doc/Doxyfile.in +0 -22
  72. data/ext/libmspack/doc/Makefile.in +0 -14
  73. data/ext/libmspack/doc/szdd_kwaj_format.html +0 -331
  74. data/ext/libmspack/mspack/mspack.def +0 -28
  75. data/ext/libmspack/mspack/qtmc.c +0 -18
  76. data/ext/libmspack/rebuild.sh +0 -8
  77. data/ext/libmspack/test/cabd_c10 +0 -19
  78. data/ext/libmspack/test/cabd_compare +0 -34
  79. data/ext/libmspack/test/cabd_md5.c +0 -161
  80. data/ext/libmspack/test/cabd_memory.c +0 -179
  81. data/ext/libmspack/test/cabd_test.c +0 -386
  82. data/ext/libmspack/test/cabrip.c +0 -81
  83. data/ext/libmspack/test/chmd_compare +0 -38
  84. data/ext/libmspack/test/chmd_find.c +0 -95
  85. data/ext/libmspack/test/chmd_md5.c +0 -67
  86. data/ext/libmspack/test/chmd_order.c +0 -144
  87. data/ext/libmspack/test/chminfo.c +0 -284
  88. data/ext/libmspack/test/chmx.c +0 -216
  89. data/ext/libmspack/test/error.h +0 -22
  90. data/ext/libmspack/test/expand.c +0 -79
  91. data/ext/libmspack/test/md5.c +0 -457
  92. data/ext/libmspack/test/md5.h +0 -165
  93. data/ext/libmspack/test/md5_fh.h +0 -123
  94. data/ext/libmspack/test/msdecompile_md5 +0 -24
  95. data/ext/libmspack/test/msexpand_md5 +0 -39
  96. data/ext/libmspack/test/multifh.c +0 -435
  97. data/ext/libmspack/test/oabx.c +0 -41
  98. data/ext/libmspack/test/test_files/cabd/1.pl +0 -84
  99. data/ext/libmspack/test/test_files/cabd/2.pl +0 -75
  100. data/ext/libmspack/test/test_files/cabd/bad_folderindex.cab +0 -0
  101. data/ext/libmspack/test/test_files/cabd/bad_nofiles.cab +0 -0
  102. data/ext/libmspack/test/test_files/cabd/bad_nofolders.cab +0 -0
  103. data/ext/libmspack/test/test_files/cabd/bad_signature.cab +0 -0
  104. data/ext/libmspack/test/test_files/cabd/multi_basic_pt1.cab +0 -0
  105. data/ext/libmspack/test/test_files/cabd/multi_basic_pt2.cab +0 -0
  106. data/ext/libmspack/test/test_files/cabd/multi_basic_pt3.cab +0 -0
  107. data/ext/libmspack/test/test_files/cabd/multi_basic_pt4.cab +0 -0
  108. data/ext/libmspack/test/test_files/cabd/multi_basic_pt5.cab +0 -0
  109. data/ext/libmspack/test/test_files/cabd/normal_255c_filename.cab +0 -0
  110. data/ext/libmspack/test/test_files/cabd/normal_2files_1folder.cab +0 -0
  111. data/ext/libmspack/test/test_files/cabd/partial_nodata.cab +0 -0
  112. data/ext/libmspack/test/test_files/cabd/partial_nofiles.cab +0 -0
  113. data/ext/libmspack/test/test_files/cabd/partial_nofolder.cab +0 -0
  114. data/ext/libmspack/test/test_files/cabd/partial_shortextheader.cab +0 -0
  115. data/ext/libmspack/test/test_files/cabd/partial_shortfile1.cab +0 -0
  116. data/ext/libmspack/test/test_files/cabd/partial_shortfile2.cab +0 -0
  117. data/ext/libmspack/test/test_files/cabd/partial_shortfolder.cab +0 -0
  118. data/ext/libmspack/test/test_files/cabd/partial_shortheader.cab +0 -0
  119. data/ext/libmspack/test/test_files/cabd/partial_str_nofname.cab +0 -0
  120. data/ext/libmspack/test/test_files/cabd/partial_str_noninfo.cab +0 -0
  121. data/ext/libmspack/test/test_files/cabd/partial_str_nonname.cab +0 -0
  122. data/ext/libmspack/test/test_files/cabd/partial_str_nopinfo.cab +0 -0
  123. data/ext/libmspack/test/test_files/cabd/partial_str_nopname.cab +0 -0
  124. data/ext/libmspack/test/test_files/cabd/partial_str_shortfname.cab +0 -0
  125. data/ext/libmspack/test/test_files/cabd/partial_str_shortninfo.cab +0 -0
  126. data/ext/libmspack/test/test_files/cabd/partial_str_shortnname.cab +0 -0
  127. data/ext/libmspack/test/test_files/cabd/partial_str_shortpinfo.cab +0 -0
  128. data/ext/libmspack/test/test_files/cabd/partial_str_shortpname.cab +0 -0
  129. data/ext/libmspack/test/test_files/cabd/reserve_---.cab +0 -0
  130. data/ext/libmspack/test/test_files/cabd/reserve_--D.cab +0 -0
  131. data/ext/libmspack/test/test_files/cabd/reserve_-F-.cab +0 -0
  132. data/ext/libmspack/test/test_files/cabd/reserve_-FD.cab +0 -0
  133. data/ext/libmspack/test/test_files/cabd/reserve_H--.cab +0 -0
  134. data/ext/libmspack/test/test_files/cabd/reserve_H-D.cab +0 -0
  135. data/ext/libmspack/test/test_files/cabd/reserve_HF-.cab +0 -0
  136. data/ext/libmspack/test/test_files/cabd/reserve_HFD.cab +0 -0
  137. data/ext/libmspack/test/test_files/cabd/search_basic.cab +0 -0
  138. data/ext/libmspack/test/test_files/cabd/search_tricky1.cab +0 -0
  139. data/ext/libmspack/winbuild.sh +0 -26
  140. data/ext/libmspack.h +0 -259
  141. data/ext/x86_64-windows/libmspack.dll +0 -0
@@ -14,31 +14,31 @@
14
14
  #include <system.h>
15
15
  #include <lzss.h>
16
16
 
17
- #define ENSURE_BYTES do { \
18
- if (i_ptr >= i_end) { \
19
- read = system->read(input, &inbuf[0], \
20
- input_buffer_size); \
21
- if (read <= 0) { \
22
- system->free(window); \
23
- return (read < 0) ? MSPACK_ERR_READ \
24
- : MSPACK_ERR_OK; \
25
- } \
26
- i_ptr = &inbuf[0]; i_end = &inbuf[read]; \
27
- } \
17
+ #define ENSURE_BYTES do { \
18
+ if (i_ptr >= i_end) { \
19
+ read = system->read(input, &inbuf[0], \
20
+ input_buffer_size); \
21
+ if (read <= 0) { \
22
+ system->free(window); \
23
+ return (read < 0) ? MSPACK_ERR_READ \
24
+ : MSPACK_ERR_OK; \
25
+ } \
26
+ i_ptr = &inbuf[0]; i_end = &inbuf[read]; \
27
+ } \
28
28
  } while (0)
29
29
 
30
- #define WRITE_BYTE do { \
31
- if (system->write(output, &window[pos], 1) != 1) { \
32
- system->free(window); \
33
- return MSPACK_ERR_WRITE; \
34
- } \
30
+ #define WRITE_BYTE do { \
31
+ if (system->write(output, &window[pos], 1) != 1) { \
32
+ system->free(window); \
33
+ return MSPACK_ERR_WRITE; \
34
+ } \
35
35
  } while (0)
36
36
 
37
37
  int lzss_decompress(struct mspack_system *system,
38
- struct mspack_file *input,
39
- struct mspack_file *output,
40
- int input_buffer_size,
41
- int mode)
38
+ struct mspack_file *input,
39
+ struct mspack_file *output,
40
+ int input_buffer_size,
41
+ int mode)
42
42
  {
43
43
  unsigned char *window, *inbuf, *i_ptr, *i_end;
44
44
  unsigned int pos, i, c, invert, mpos, len;
@@ -48,7 +48,7 @@ int lzss_decompress(struct mspack_system *system,
48
48
  if (!system || input_buffer_size < 1 || (mode != LZSS_MODE_EXPAND &&
49
49
  mode != LZSS_MODE_MSHELP && mode != LZSS_MODE_QBASIC))
50
50
  {
51
- return MSPACK_ERR_ARGS;
51
+ return MSPACK_ERR_ARGS;
52
52
  }
53
53
 
54
54
  /* allocate memory */
@@ -64,27 +64,27 @@ int lzss_decompress(struct mspack_system *system,
64
64
 
65
65
  /* loop forever; exit condition is in ENSURE_BYTES macro */
66
66
  for (;;) {
67
- ENSURE_BYTES; c = *i_ptr++ ^ invert;
68
- for (i = 0x01; i & 0xFF; i <<= 1) {
69
- if (c & i) {
70
- /* literal */
71
- ENSURE_BYTES; window[pos] = *i_ptr++;
72
- WRITE_BYTE;
73
- pos++; pos &= LZSS_WINDOW_SIZE - 1;
74
- }
75
- else {
76
- /* match */
77
- ENSURE_BYTES; mpos = *i_ptr++;
78
- ENSURE_BYTES; mpos |= (*i_ptr & 0xF0) << 4;
79
- len = (*i_ptr++ & 0x0F) + 3;
80
- while (len--) {
81
- window[pos] = window[mpos];
82
- WRITE_BYTE;
83
- pos++; pos &= LZSS_WINDOW_SIZE - 1;
84
- mpos++; mpos &= LZSS_WINDOW_SIZE - 1;
85
- }
86
- }
87
- }
67
+ ENSURE_BYTES; c = *i_ptr++ ^ invert;
68
+ for (i = 0x01; i & 0xFF; i <<= 1) {
69
+ if (c & i) {
70
+ /* literal */
71
+ ENSURE_BYTES; window[pos] = *i_ptr++;
72
+ WRITE_BYTE;
73
+ pos++; pos &= LZSS_WINDOW_SIZE - 1;
74
+ }
75
+ else {
76
+ /* match */
77
+ ENSURE_BYTES; mpos = *i_ptr++;
78
+ ENSURE_BYTES; mpos |= (*i_ptr & 0xF0) << 4;
79
+ len = (*i_ptr++ & 0x0F) + 3;
80
+ while (len--) {
81
+ window[pos] = window[mpos];
82
+ WRITE_BYTE;
83
+ pos++; pos &= LZSS_WINDOW_SIZE - 1;
84
+ mpos++; mpos &= LZSS_WINDOW_SIZE - 1;
85
+ }
86
+ }
87
+ }
88
88
  }
89
89
 
90
90
  /* not reached */
@@ -89,13 +89,13 @@ struct lzxd_stream {
89
89
 
90
90
  /* huffman decoding tables */
91
91
  unsigned short PRETREE_table [(1 << LZX_PRETREE_TABLEBITS) +
92
- (LZX_PRETREE_MAXSYMBOLS * 2)];
92
+ (LZX_PRETREE_MAXSYMBOLS * 2)];
93
93
  unsigned short MAINTREE_table[(1 << LZX_MAINTREE_TABLEBITS) +
94
- (LZX_MAINTREE_MAXSYMBOLS * 2)];
94
+ (LZX_MAINTREE_MAXSYMBOLS * 2)];
95
95
  unsigned short LENGTH_table [(1 << LZX_LENGTH_TABLEBITS) +
96
- (LZX_LENGTH_MAXSYMBOLS * 2)];
96
+ (LZX_LENGTH_MAXSYMBOLS * 2)];
97
97
  unsigned short ALIGNED_table [(1 << LZX_ALIGNED_TABLEBITS) +
98
- (LZX_ALIGNED_MAXSYMBOLS * 2)];
98
+ (LZX_ALIGNED_MAXSYMBOLS * 2)];
99
99
  unsigned char LENGTH_empty;
100
100
 
101
101
  /* this is used purely for doing the intel E8 transform */
@@ -145,17 +145,17 @@ struct lzxd_stream {
145
145
  * there was not enough memory or parameters to the function were wrong.
146
146
  */
147
147
  extern struct lzxd_stream *lzxd_init(struct mspack_system *system,
148
- struct mspack_file *input,
149
- struct mspack_file *output,
150
- int window_bits,
151
- int reset_interval,
152
- int input_buffer_size,
153
- off_t output_length,
148
+ struct mspack_file *input,
149
+ struct mspack_file *output,
150
+ int window_bits,
151
+ int reset_interval,
152
+ int input_buffer_size,
153
+ off_t output_length,
154
154
  char is_delta);
155
155
 
156
156
  /* see description of output_length in lzxd_init() */
157
157
  extern void lzxd_set_output_length(struct lzxd_stream *lzx,
158
- off_t output_length);
158
+ off_t output_length);
159
159
 
160
160
  /**
161
161
  * Reads LZX DELTA reference data into the window and allows