gosu 0.7.13.3 → 0.7.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (478) hide show
  1. data/Gosu/Audio.hpp +10 -4
  2. data/Gosu/Math.hpp +23 -10
  3. data/Gosu/Platform.hpp +2 -0
  4. data/Gosu/Version.hpp +9 -0
  5. data/GosuImpl/Audio/ALChannelManagement.hpp +13 -3
  6. data/GosuImpl/Audio/AudioFile.hpp +45 -0
  7. data/GosuImpl/Audio/AudioOpenAL.mm +533 -0
  8. data/GosuImpl/Audio/AudioToolboxFile.hpp +217 -0
  9. data/GosuImpl/Audio/OggFile.hpp +114 -0
  10. data/GosuImpl/AudioFmod.cpp +4 -0
  11. data/GosuImpl/AudioSDL.cpp +4 -0
  12. data/GosuImpl/Graphics/GosuView.mm +2 -2
  13. data/GosuImpl/Graphics/Texture.cpp +9 -4
  14. data/GosuImpl/Math.cpp +1 -1
  15. data/GosuImpl/RubyGosu.swg +10 -1
  16. data/GosuImpl/RubyGosu_wrap.cxx +175 -1416
  17. data/GosuImpl/RubyGosu_wrap.cxx.rej +187 -0
  18. data/GosuImpl/WinUtility.cpp +1 -1
  19. data/GosuImpl/WindowMac.mm +1 -0
  20. data/GosuImpl/WindowTouch.mm +1 -0
  21. data/README.txt +5 -5
  22. data/Rakefile +48 -9
  23. data/examples/media/Starfighter.bmp +0 -0
  24. data/linux/configure +1166 -975
  25. data/linux/configure.ac +14 -30
  26. data/linux/extconf.rb +2 -5
  27. data/mac/Gosu.xcodeproj/jlnr.pbxuser +330 -267
  28. data/mac/Gosu.xcodeproj/jlnr.perspectivev3 +48 -47
  29. data/mac/Gosu.xcodeproj/project.pbxproj +626 -74
  30. data/mac/RubyGosu App-Info.plist +1 -1
  31. data/reference/cpp/_audio_8hpp-source.html +81 -75
  32. data/reference/cpp/_math_8hpp-source.html +57 -48
  33. data/reference/cpp/_math_8hpp.html +7 -1
  34. data/reference/cpp/_platform_8hpp-source.html +58 -56
  35. data/reference/cpp/_platform_8hpp.html +21 -2
  36. data/reference/cpp/_version_8hpp-source.html +77 -0
  37. data/reference/cpp/_version_8hpp.html +153 -0
  38. data/reference/cpp/class_gosu_1_1_audio-members.html +1 -0
  39. data/reference/cpp/class_gosu_1_1_audio.html +22 -0
  40. data/reference/cpp/class_gosu_1_1_sample.html +1 -1
  41. data/reference/cpp/class_gosu_1_1_sample_instance.html +1 -1
  42. data/reference/cpp/class_gosu_1_1_song.html +2 -2
  43. data/reference/cpp/files.html +1 -0
  44. data/reference/cpp/functions_0x67.html +1 -3
  45. data/reference/cpp/functions_0x74.html +2 -2
  46. data/reference/cpp/functions_0x75.html +3 -2
  47. data/reference/cpp/functions_func_0x67.html +1 -3
  48. data/reference/cpp/functions_func_0x74.html +2 -2
  49. data/reference/cpp/functions_func_0x75.html +3 -2
  50. data/reference/cpp/globals.html +10 -0
  51. data/reference/cpp/globals_defs.html +10 -0
  52. data/reference/rdoc/classes/Gosu.html +1547 -0
  53. data/reference/rdoc/classes/Gosu/Color.html +563 -0
  54. data/reference/rdoc/classes/Gosu/Font.html +538 -0
  55. data/reference/rdoc/classes/Gosu/GLTexInfo.html +404 -0
  56. data/reference/rdoc/classes/Gosu/Image.html +702 -0
  57. data/reference/rdoc/classes/Gosu/Sample.html +469 -0
  58. data/reference/rdoc/classes/Gosu/SampleInstance.html +516 -0
  59. data/reference/rdoc/classes/Gosu/Song.html +561 -0
  60. data/reference/rdoc/classes/Gosu/TextInput.html +398 -0
  61. data/reference/rdoc/classes/Gosu/Window.html +913 -0
  62. data/reference/rdoc/classes/Numeric.html +416 -0
  63. data/reference/rdoc/created.rid +1 -0
  64. data/reference/rdoc/files/COPYING_txt.html +386 -0
  65. data/reference/rdoc/files/README_txt.html +381 -0
  66. data/reference/rdoc/files/reference/DeploymentOnOSX_rdoc.html +390 -0
  67. data/reference/rdoc/files/reference/DeploymentOnWindows_rdoc.html +392 -0
  68. data/reference/rdoc/files/reference/DrawingWithColors_rdoc.html +357 -0
  69. data/reference/rdoc/files/reference/OrderOfCorners_rdoc.html +352 -0
  70. data/reference/rdoc/files/reference/Tileability_rdoc.html +368 -0
  71. data/reference/rdoc/files/reference/ZOrdering_rdoc.html +355 -0
  72. data/reference/rdoc/files/reference/gosu_rb.html +342 -0
  73. data/reference/rdoc/fr_class_index.html +12 -0
  74. data/reference/rdoc/fr_file_index.html +10 -0
  75. data/reference/rdoc/fr_method_index.html +63 -0
  76. data/reference/rdoc/index.html +1 -0
  77. data/reference/rdoc/rdoc-style.css +318 -0
  78. data/windows/Gosu.vcproj +33 -33
  79. data/windows/RubyGosu.vcproj +2 -2
  80. metadata +36 -400
  81. data/GosuImpl/Audio/AudioFileMac.hpp +0 -105
  82. data/GosuImpl/AudioOpenAL.mm +0 -486
  83. data/mac/libboost_thread_1_34_1_universal.a +0 -0
  84. data/mac/libboost_thread_d_1_34_1_universal.a +0 -0
  85. data/mac/libfmod_universal.a +0 -0
  86. data/mac/libpng_universal.a +0 -0
  87. data/mac/libz_universal.a +0 -0
  88. data/windows/zlib, libpng/libpng/ANNOUNCE +0 -61
  89. data/windows/zlib, libpng/libpng/CHANGES +0 -2173
  90. data/windows/zlib, libpng/libpng/INSTALL +0 -199
  91. data/windows/zlib, libpng/libpng/KNOWNBUG +0 -22
  92. data/windows/zlib, libpng/libpng/LICENSE +0 -109
  93. data/windows/zlib, libpng/libpng/README +0 -264
  94. data/windows/zlib, libpng/libpng/TODO +0 -24
  95. data/windows/zlib, libpng/libpng/Y2KINFO +0 -55
  96. data/windows/zlib, libpng/libpng/configure +0 -13
  97. data/windows/zlib, libpng/libpng/contrib/gregbook/COPYING +0 -340
  98. data/windows/zlib, libpng/libpng/contrib/gregbook/LICENSE +0 -50
  99. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.mingw32 +0 -130
  100. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.sgi +0 -104
  101. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.unx +0 -132
  102. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.w32 +0 -113
  103. data/windows/zlib, libpng/libpng/contrib/gregbook/README +0 -186
  104. data/windows/zlib, libpng/libpng/contrib/gregbook/makevms.com +0 -132
  105. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.c +0 -304
  106. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.h +0 -88
  107. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.c +0 -645
  108. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.h +0 -121
  109. data/windows/zlib, libpng/libpng/contrib/gregbook/readppm.c +0 -179
  110. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-win.c +0 -684
  111. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-x.c +0 -904
  112. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-win.c +0 -1225
  113. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-x.c +0 -2127
  114. data/windows/zlib, libpng/libpng/contrib/gregbook/toucan.png +0 -0
  115. data/windows/zlib, libpng/libpng/contrib/gregbook/wpng.c +0 -853
  116. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.c +0 -392
  117. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.h +0 -133
  118. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/README +0 -6
  119. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/gather.sh +0 -8
  120. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/makefile.std +0 -44
  121. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/pngusr.h +0 -67
  122. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/README +0 -6
  123. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/dummy_inflate.c +0 -27
  124. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/gather.sh +0 -9
  125. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/makefile.std +0 -43
  126. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/pngusr.h +0 -66
  127. data/windows/zlib, libpng/libpng/contrib/pngminus/README +0 -153
  128. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.std +0 -65
  129. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.tc3 +0 -38
  130. data/windows/zlib, libpng/libpng/contrib/pngminus/makevms.com +0 -92
  131. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.bat +0 -41
  132. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.c +0 -430
  133. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.sh +0 -42
  134. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.bat +0 -4
  135. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.sh +0 -5
  136. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.bat +0 -41
  137. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.c +0 -533
  138. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.sh +0 -42
  139. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g01.png +0 -0
  140. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g02.png +0 -0
  141. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g04.png +0 -0
  142. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g08.png +0 -0
  143. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g16.png +0 -0
  144. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c08.png +0 -0
  145. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c16.png +0 -0
  146. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p01.png +0 -0
  147. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p02.png +0 -0
  148. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p04.png +0 -0
  149. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p08.png +0 -0
  150. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a08.png +0 -0
  151. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a16.png +0 -0
  152. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a08.png +0 -0
  153. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a16.png +0 -0
  154. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.c +0 -439
  155. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.h +0 -27
  156. data/windows/zlib, libpng/libpng/contrib/visupng/README.txt +0 -58
  157. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.c +0 -961
  158. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsp +0 -147
  159. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsw +0 -29
  160. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.ico +0 -0
  161. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.png +0 -0
  162. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.rc +0 -152
  163. data/windows/zlib, libpng/libpng/contrib/visupng/cexcept.h +0 -243
  164. data/windows/zlib, libpng/libpng/contrib/visupng/resource.h +0 -23
  165. data/windows/zlib, libpng/libpng/example.c +0 -814
  166. data/windows/zlib, libpng/libpng/libpng-1.2.29.txt +0 -2906
  167. data/windows/zlib, libpng/libpng/libpng.3 +0 -3680
  168. data/windows/zlib, libpng/libpng/libpngpf.3 +0 -274
  169. data/windows/zlib, libpng/libpng/png.5 +0 -74
  170. data/windows/zlib, libpng/libpng/png.c +0 -798
  171. data/windows/zlib, libpng/libpng/png.h +0 -3569
  172. data/windows/zlib, libpng/libpng/pngbar.jpg +0 -0
  173. data/windows/zlib, libpng/libpng/pngbar.png +0 -0
  174. data/windows/zlib, libpng/libpng/pngconf.h +0 -1481
  175. data/windows/zlib, libpng/libpng/pngerror.c +0 -343
  176. data/windows/zlib, libpng/libpng/pnggccrd.c +0 -103
  177. data/windows/zlib, libpng/libpng/pngget.c +0 -901
  178. data/windows/zlib, libpng/libpng/pngmem.c +0 -608
  179. data/windows/zlib, libpng/libpng/pngnow.png +0 -0
  180. data/windows/zlib, libpng/libpng/pngpread.c +0 -1598
  181. data/windows/zlib, libpng/libpng/pngread.c +0 -1479
  182. data/windows/zlib, libpng/libpng/pngrio.c +0 -167
  183. data/windows/zlib, libpng/libpng/pngrtran.c +0 -4292
  184. data/windows/zlib, libpng/libpng/pngrutil.c +0 -3183
  185. data/windows/zlib, libpng/libpng/pngset.c +0 -1268
  186. data/windows/zlib, libpng/libpng/pngtest.c +0 -1563
  187. data/windows/zlib, libpng/libpng/pngtest.png +0 -0
  188. data/windows/zlib, libpng/libpng/pngtrans.c +0 -662
  189. data/windows/zlib, libpng/libpng/pngvcrd.c +0 -1
  190. data/windows/zlib, libpng/libpng/pngwio.c +0 -234
  191. data/windows/zlib, libpng/libpng/pngwrite.c +0 -1532
  192. data/windows/zlib, libpng/libpng/pngwtran.c +0 -572
  193. data/windows/zlib, libpng/libpng/pngwutil.c +0 -2802
  194. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.proj +0 -0
  195. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.txt +0 -22
  196. data/windows/zlib, libpng/libpng/projects/beos/x86-static.proj +0 -0
  197. data/windows/zlib, libpng/libpng/projects/beos/x86-static.txt +0 -22
  198. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpf +0 -22
  199. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpg +0 -25
  200. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpr +0 -157
  201. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.cpp +0 -29
  202. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.readme.txt +0 -25
  203. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpf +0 -22
  204. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpr +0 -109
  205. data/windows/zlib, libpng/libpng/projects/cbuilder5/zlib.readme.txt +0 -14
  206. data/windows/zlib, libpng/libpng/projects/netware.txt +0 -6
  207. data/windows/zlib, libpng/libpng/projects/visualc6/README.txt +0 -57
  208. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsp +0 -472
  209. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsw +0 -59
  210. data/windows/zlib, libpng/libpng/projects/visualc6/pngtest.dsp +0 -314
  211. data/windows/zlib, libpng/libpng/projects/visualc71/PRJ0041.mak +0 -21
  212. data/windows/zlib, libpng/libpng/projects/visualc71/README.txt +0 -57
  213. data/windows/zlib, libpng/libpng/projects/visualc71/README_zlib.txt +0 -44
  214. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.sln +0 -88
  215. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.vcproj +0 -702
  216. data/windows/zlib, libpng/libpng/projects/visualc71/pngtest.vcproj +0 -459
  217. data/windows/zlib, libpng/libpng/projects/visualc71/zlib.vcproj +0 -670
  218. data/windows/zlib, libpng/libpng/projects/wince.txt +0 -6
  219. data/windows/zlib, libpng/libpng/scripts/CMakeLists.txt +0 -210
  220. data/windows/zlib, libpng/libpng/scripts/SCOPTIONS.ppc +0 -7
  221. data/windows/zlib, libpng/libpng/scripts/descrip.mms +0 -52
  222. data/windows/zlib, libpng/libpng/scripts/libpng-config-body.in +0 -96
  223. data/windows/zlib, libpng/libpng/scripts/libpng-config-head.in +0 -21
  224. data/windows/zlib, libpng/libpng/scripts/libpng-config.in +0 -124
  225. data/windows/zlib, libpng/libpng/scripts/libpng.icc +0 -44
  226. data/windows/zlib, libpng/libpng/scripts/libpng.pc-configure.in +0 -10
  227. data/windows/zlib, libpng/libpng/scripts/libpng.pc.in +0 -10
  228. data/windows/zlib, libpng/libpng/scripts/makefile.32sunu +0 -254
  229. data/windows/zlib, libpng/libpng/scripts/makefile.64sunu +0 -254
  230. data/windows/zlib, libpng/libpng/scripts/makefile.acorn +0 -51
  231. data/windows/zlib, libpng/libpng/scripts/makefile.aix +0 -113
  232. data/windows/zlib, libpng/libpng/scripts/makefile.amiga +0 -48
  233. data/windows/zlib, libpng/libpng/scripts/makefile.atari +0 -51
  234. data/windows/zlib, libpng/libpng/scripts/makefile.bc32 +0 -152
  235. data/windows/zlib, libpng/libpng/scripts/makefile.beos +0 -226
  236. data/windows/zlib, libpng/libpng/scripts/makefile.bor +0 -162
  237. data/windows/zlib, libpng/libpng/scripts/makefile.cygwin +0 -299
  238. data/windows/zlib, libpng/libpng/scripts/makefile.darwin +0 -234
  239. data/windows/zlib, libpng/libpng/scripts/makefile.dec +0 -214
  240. data/windows/zlib, libpng/libpng/scripts/makefile.dj2 +0 -55
  241. data/windows/zlib, libpng/libpng/scripts/makefile.elf +0 -275
  242. data/windows/zlib, libpng/libpng/scripts/makefile.freebsd +0 -48
  243. data/windows/zlib, libpng/libpng/scripts/makefile.gcc +0 -79
  244. data/windows/zlib, libpng/libpng/scripts/makefile.gcmmx +0 -271
  245. data/windows/zlib, libpng/libpng/scripts/makefile.hp64 +0 -235
  246. data/windows/zlib, libpng/libpng/scripts/makefile.hpgcc +0 -245
  247. data/windows/zlib, libpng/libpng/scripts/makefile.hpux +0 -232
  248. data/windows/zlib, libpng/libpng/scripts/makefile.ibmc +0 -71
  249. data/windows/zlib, libpng/libpng/scripts/makefile.intel +0 -102
  250. data/windows/zlib, libpng/libpng/scripts/makefile.knr +0 -99
  251. data/windows/zlib, libpng/libpng/scripts/makefile.linux +0 -249
  252. data/windows/zlib, libpng/libpng/scripts/makefile.mingw +0 -289
  253. data/windows/zlib, libpng/libpng/scripts/makefile.mips +0 -83
  254. data/windows/zlib, libpng/libpng/scripts/makefile.msc +0 -86
  255. data/windows/zlib, libpng/libpng/scripts/makefile.ne12bsd +0 -45
  256. data/windows/zlib, libpng/libpng/scripts/makefile.netbsd +0 -45
  257. data/windows/zlib, libpng/libpng/scripts/makefile.nommx +0 -252
  258. data/windows/zlib, libpng/libpng/scripts/makefile.openbsd +0 -73
  259. data/windows/zlib, libpng/libpng/scripts/makefile.os2 +0 -69
  260. data/windows/zlib, libpng/libpng/scripts/makefile.sco +0 -229
  261. data/windows/zlib, libpng/libpng/scripts/makefile.sggcc +0 -242
  262. data/windows/zlib, libpng/libpng/scripts/makefile.sgi +0 -245
  263. data/windows/zlib, libpng/libpng/scripts/makefile.so9 +0 -251
  264. data/windows/zlib, libpng/libpng/scripts/makefile.solaris +0 -249
  265. data/windows/zlib, libpng/libpng/scripts/makefile.solaris-x86 +0 -248
  266. data/windows/zlib, libpng/libpng/scripts/makefile.std +0 -92
  267. data/windows/zlib, libpng/libpng/scripts/makefile.sunos +0 -97
  268. data/windows/zlib, libpng/libpng/scripts/makefile.tc3 +0 -89
  269. data/windows/zlib, libpng/libpng/scripts/makefile.vcawin32 +0 -99
  270. data/windows/zlib, libpng/libpng/scripts/makefile.vcwin32 +0 -99
  271. data/windows/zlib, libpng/libpng/scripts/makefile.watcom +0 -109
  272. data/windows/zlib, libpng/libpng/scripts/makevms.com +0 -144
  273. data/windows/zlib, libpng/libpng/scripts/pngos2.def +0 -257
  274. data/windows/zlib, libpng/libpng/scripts/pngw32.def +0 -238
  275. data/windows/zlib, libpng/libpng/scripts/pngw32.rc +0 -112
  276. data/windows/zlib, libpng/libpng/scripts/smakefile.ppc +0 -30
  277. data/windows/zlib, libpng/zlib/ChangeLog +0 -855
  278. data/windows/zlib, libpng/zlib/FAQ +0 -339
  279. data/windows/zlib, libpng/zlib/INDEX +0 -51
  280. data/windows/zlib, libpng/zlib/Makefile +0 -154
  281. data/windows/zlib, libpng/zlib/Makefile.in +0 -154
  282. data/windows/zlib, libpng/zlib/README +0 -125
  283. data/windows/zlib, libpng/zlib/adler32.c +0 -149
  284. data/windows/zlib, libpng/zlib/algorithm.txt +0 -209
  285. data/windows/zlib, libpng/zlib/amiga/Makefile.pup +0 -66
  286. data/windows/zlib, libpng/zlib/amiga/Makefile.sas +0 -65
  287. data/windows/zlib, libpng/zlib/as400/bndsrc +0 -132
  288. data/windows/zlib, libpng/zlib/as400/compile.clp +0 -123
  289. data/windows/zlib, libpng/zlib/as400/readme.txt +0 -111
  290. data/windows/zlib, libpng/zlib/as400/zlib.inc +0 -331
  291. data/windows/zlib, libpng/zlib/compress.c +0 -79
  292. data/windows/zlib, libpng/zlib/configure +0 -459
  293. data/windows/zlib, libpng/zlib/contrib/README.contrib +0 -71
  294. data/windows/zlib, libpng/zlib/contrib/ada/buffer_demo.adb +0 -106
  295. data/windows/zlib, libpng/zlib/contrib/ada/mtest.adb +0 -156
  296. data/windows/zlib, libpng/zlib/contrib/ada/read.adb +0 -156
  297. data/windows/zlib, libpng/zlib/contrib/ada/readme.txt +0 -65
  298. data/windows/zlib, libpng/zlib/contrib/ada/test.adb +0 -463
  299. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.adb +0 -225
  300. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.ads +0 -114
  301. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.adb +0 -141
  302. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.ads +0 -450
  303. data/windows/zlib, libpng/zlib/contrib/ada/zlib.adb +0 -701
  304. data/windows/zlib, libpng/zlib/contrib/ada/zlib.ads +0 -328
  305. data/windows/zlib, libpng/zlib/contrib/ada/zlib.gpr +0 -20
  306. data/windows/zlib, libpng/zlib/contrib/asm586/README.586 +0 -43
  307. data/windows/zlib, libpng/zlib/contrib/asm586/match.S +0 -364
  308. data/windows/zlib, libpng/zlib/contrib/asm686/README.686 +0 -34
  309. data/windows/zlib, libpng/zlib/contrib/asm686/match.S +0 -329
  310. data/windows/zlib, libpng/zlib/contrib/blast/Makefile +0 -8
  311. data/windows/zlib, libpng/zlib/contrib/blast/README +0 -4
  312. data/windows/zlib, libpng/zlib/contrib/blast/blast.c +0 -444
  313. data/windows/zlib, libpng/zlib/contrib/blast/blast.h +0 -71
  314. data/windows/zlib, libpng/zlib/contrib/blast/test.pk +0 -0
  315. data/windows/zlib, libpng/zlib/contrib/blast/test.txt +0 -1
  316. data/windows/zlib, libpng/zlib/contrib/delphi/ZLib.pas +0 -557
  317. data/windows/zlib, libpng/zlib/contrib/delphi/ZLibConst.pas +0 -11
  318. data/windows/zlib, libpng/zlib/contrib/delphi/readme.txt +0 -76
  319. data/windows/zlib, libpng/zlib/contrib/delphi/zlibd32.mak +0 -93
  320. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.build +0 -33
  321. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  322. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.sln +0 -21
  323. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +0 -58
  324. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +0 -202
  325. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +0 -83
  326. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +0 -198
  327. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Deflater.cs +0 -106
  328. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +0 -288
  329. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +0 -141
  330. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +0 -301
  331. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Inflater.cs +0 -105
  332. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +0 -274
  333. data/windows/zlib, libpng/zlib/contrib/dotzlib/LICENSE_1_0.txt +0 -23
  334. data/windows/zlib, libpng/zlib/contrib/dotzlib/readme.txt +0 -58
  335. data/windows/zlib, libpng/zlib/contrib/infback9/README +0 -1
  336. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.c +0 -608
  337. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.h +0 -37
  338. data/windows/zlib, libpng/zlib/contrib/infback9/inffix9.h +0 -107
  339. data/windows/zlib, libpng/zlib/contrib/infback9/inflate9.h +0 -47
  340. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.c +0 -323
  341. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.h +0 -55
  342. data/windows/zlib, libpng/zlib/contrib/inflate86/inffas86.c +0 -1157
  343. data/windows/zlib, libpng/zlib/contrib/inflate86/inffast.S +0 -1368
  344. data/windows/zlib, libpng/zlib/contrib/iostream/test.cpp +0 -24
  345. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.cpp +0 -329
  346. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.h +0 -128
  347. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream.h +0 -307
  348. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream_test.cpp +0 -25
  349. data/windows/zlib, libpng/zlib/contrib/iostream3/README +0 -35
  350. data/windows/zlib, libpng/zlib/contrib/iostream3/TODO +0 -17
  351. data/windows/zlib, libpng/zlib/contrib/iostream3/test.cc +0 -50
  352. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.cc +0 -479
  353. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.h +0 -466
  354. data/windows/zlib, libpng/zlib/contrib/masm686/match.asm +0 -413
  355. data/windows/zlib, libpng/zlib/contrib/masmx64/bld_ml64.bat +0 -2
  356. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.asm +0 -513
  357. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.obj +0 -0
  358. data/windows/zlib, libpng/zlib/contrib/masmx64/inffas8664.c +0 -186
  359. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.asm +0 -392
  360. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.obj +0 -0
  361. data/windows/zlib, libpng/zlib/contrib/masmx64/readme.txt +0 -28
  362. data/windows/zlib, libpng/zlib/contrib/masmx86/bld_ml32.bat +0 -2
  363. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.asm +0 -972
  364. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.obj +0 -0
  365. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32c.c +0 -62
  366. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.asm +0 -1083
  367. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.obj +0 -0
  368. data/windows/zlib, libpng/zlib/contrib/masmx86/mkasm.bat +0 -3
  369. data/windows/zlib, libpng/zlib/contrib/masmx86/readme.txt +0 -21
  370. data/windows/zlib, libpng/zlib/contrib/minizip/ChangeLogUnzip +0 -67
  371. data/windows/zlib, libpng/zlib/contrib/minizip/Makefile +0 -25
  372. data/windows/zlib, libpng/zlib/contrib/minizip/crypt.h +0 -132
  373. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.c +0 -177
  374. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.h +0 -75
  375. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.c +0 -270
  376. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.h +0 -21
  377. data/windows/zlib, libpng/zlib/contrib/minizip/miniunz.c +0 -585
  378. data/windows/zlib, libpng/zlib/contrib/minizip/minizip.c +0 -420
  379. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.c +0 -281
  380. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.h +0 -31
  381. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.c +0 -1598
  382. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.h +0 -354
  383. data/windows/zlib, libpng/zlib/contrib/minizip/zip.c +0 -1219
  384. data/windows/zlib, libpng/zlib/contrib/minizip/zip.h +0 -235
  385. data/windows/zlib, libpng/zlib/contrib/pascal/example.pas +0 -599
  386. data/windows/zlib, libpng/zlib/contrib/pascal/readme.txt +0 -76
  387. data/windows/zlib, libpng/zlib/contrib/pascal/zlibd32.mak +0 -93
  388. data/windows/zlib, libpng/zlib/contrib/pascal/zlibpas.pas +0 -236
  389. data/windows/zlib, libpng/zlib/contrib/puff/Makefile +0 -8
  390. data/windows/zlib, libpng/zlib/contrib/puff/README +0 -63
  391. data/windows/zlib, libpng/zlib/contrib/puff/puff.c +0 -837
  392. data/windows/zlib, libpng/zlib/contrib/puff/puff.h +0 -31
  393. data/windows/zlib, libpng/zlib/contrib/puff/zeros.raw +0 -0
  394. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.c +0 -275
  395. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.txt +0 -10
  396. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile +0 -14
  397. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile.msc +0 -17
  398. data/windows/zlib, libpng/zlib/contrib/untgz/untgz.c +0 -674
  399. data/windows/zlib, libpng/zlib/contrib/vstudio/readme.txt +0 -73
  400. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/miniunz.vcproj +0 -126
  401. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/minizip.vcproj +0 -126
  402. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/testzlib.vcproj +0 -126
  403. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlib.rc +0 -32
  404. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibstat.vcproj +0 -246
  405. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.def +0 -92
  406. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.sln +0 -78
  407. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.vcproj +0 -445
  408. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/miniunz.vcproj +0 -566
  409. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/minizip.vcproj +0 -563
  410. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlib.vcproj +0 -948
  411. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlibdll.vcproj +0 -567
  412. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlib.rc +0 -32
  413. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibstat.vcproj +0 -870
  414. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.def +0 -92
  415. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.sln +0 -144
  416. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.vcproj +0 -1219
  417. data/windows/zlib, libpng/zlib/crc32.c +0 -423
  418. data/windows/zlib, libpng/zlib/crc32.h +0 -441
  419. data/windows/zlib, libpng/zlib/deflate.c +0 -1736
  420. data/windows/zlib, libpng/zlib/deflate.h +0 -331
  421. data/windows/zlib, libpng/zlib/example.c +0 -565
  422. data/windows/zlib, libpng/zlib/examples/README.examples +0 -42
  423. data/windows/zlib, libpng/zlib/examples/fitblk.c +0 -233
  424. data/windows/zlib, libpng/zlib/examples/gun.c +0 -693
  425. data/windows/zlib, libpng/zlib/examples/gzappend.c +0 -500
  426. data/windows/zlib, libpng/zlib/examples/gzjoin.c +0 -448
  427. data/windows/zlib, libpng/zlib/examples/gzlog.c +0 -413
  428. data/windows/zlib, libpng/zlib/examples/gzlog.h +0 -58
  429. data/windows/zlib, libpng/zlib/examples/zlib_how.html +0 -523
  430. data/windows/zlib, libpng/zlib/examples/zpipe.c +0 -191
  431. data/windows/zlib, libpng/zlib/examples/zran.c +0 -404
  432. data/windows/zlib, libpng/zlib/gzio.c +0 -1026
  433. data/windows/zlib, libpng/zlib/infback.c +0 -623
  434. data/windows/zlib, libpng/zlib/inffast.c +0 -318
  435. data/windows/zlib, libpng/zlib/inffast.h +0 -11
  436. data/windows/zlib, libpng/zlib/inffixed.h +0 -94
  437. data/windows/zlib, libpng/zlib/inflate.c +0 -1368
  438. data/windows/zlib, libpng/zlib/inflate.h +0 -115
  439. data/windows/zlib, libpng/zlib/inftrees.c +0 -329
  440. data/windows/zlib, libpng/zlib/inftrees.h +0 -55
  441. data/windows/zlib, libpng/zlib/make_vms.com +0 -461
  442. data/windows/zlib, libpng/zlib/minigzip.c +0 -322
  443. data/windows/zlib, libpng/zlib/msdos/Makefile.bor +0 -109
  444. data/windows/zlib, libpng/zlib/msdos/Makefile.dj2 +0 -104
  445. data/windows/zlib, libpng/zlib/msdos/Makefile.emx +0 -69
  446. data/windows/zlib, libpng/zlib/msdos/Makefile.msc +0 -106
  447. data/windows/zlib, libpng/zlib/msdos/Makefile.tc +0 -94
  448. data/windows/zlib, libpng/zlib/old/Makefile.riscos +0 -151
  449. data/windows/zlib, libpng/zlib/old/README +0 -3
  450. data/windows/zlib, libpng/zlib/old/descrip.mms +0 -48
  451. data/windows/zlib, libpng/zlib/old/os2/Makefile.os2 +0 -136
  452. data/windows/zlib, libpng/zlib/old/os2/zlib.def +0 -51
  453. data/windows/zlib, libpng/zlib/old/visual-basic.txt +0 -160
  454. data/windows/zlib, libpng/zlib/old/zlib.html +0 -971
  455. data/windows/zlib, libpng/zlib/projects/README.projects +0 -41
  456. data/windows/zlib, libpng/zlib/projects/visualc6/README.txt +0 -73
  457. data/windows/zlib, libpng/zlib/projects/visualc6/example.dsp +0 -278
  458. data/windows/zlib, libpng/zlib/projects/visualc6/minigzip.dsp +0 -278
  459. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsp +0 -609
  460. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsw +0 -59
  461. data/windows/zlib, libpng/zlib/qnx/package.qpg +0 -141
  462. data/windows/zlib, libpng/zlib/trees.c +0 -1219
  463. data/windows/zlib, libpng/zlib/trees.h +0 -128
  464. data/windows/zlib, libpng/zlib/uncompr.c +0 -61
  465. data/windows/zlib, libpng/zlib/win32/DLL_FAQ.txt +0 -397
  466. data/windows/zlib, libpng/zlib/win32/Makefile.bor +0 -107
  467. data/windows/zlib, libpng/zlib/win32/Makefile.emx +0 -69
  468. data/windows/zlib, libpng/zlib/win32/Makefile.gcc +0 -141
  469. data/windows/zlib, libpng/zlib/win32/Makefile.msc +0 -126
  470. data/windows/zlib, libpng/zlib/win32/VisualC.txt +0 -3
  471. data/windows/zlib, libpng/zlib/win32/zlib.def +0 -60
  472. data/windows/zlib, libpng/zlib/win32/zlib1.rc +0 -39
  473. data/windows/zlib, libpng/zlib/zconf.h +0 -332
  474. data/windows/zlib, libpng/zlib/zconf.in.h +0 -332
  475. data/windows/zlib, libpng/zlib/zlib.3 +0 -159
  476. data/windows/zlib, libpng/zlib/zlib.h +0 -1357
  477. data/windows/zlib, libpng/zlib/zutil.c +0 -318
  478. data/windows/zlib, libpng/zlib/zutil.h +0 -269
@@ -1,274 +0,0 @@
1
- //
2
- // � Copyright Henrik Ravn 2004
3
- //
4
- // Use, modification and distribution are subject to the Boost Software License, Version 1.0.
5
- // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- //
7
-
8
- using System;
9
- using System.Collections;
10
- using System.IO;
11
-
12
- // uncomment the define below to include unit tests
13
- //#define nunit
14
- #if nunit
15
- using NUnit.Framework;
16
-
17
- // Unit tests for the DotZLib class library
18
- // ----------------------------------------
19
- //
20
- // Use this with NUnit 2 from http://www.nunit.org
21
- //
22
-
23
- namespace DotZLibTests
24
- {
25
- using DotZLib;
26
-
27
- // helper methods
28
- internal class Utils
29
- {
30
- public static bool byteArrEqual( byte[] lhs, byte[] rhs )
31
- {
32
- if (lhs.Length != rhs.Length)
33
- return false;
34
- for (int i = lhs.Length-1; i >= 0; --i)
35
- if (lhs[i] != rhs[i])
36
- return false;
37
- return true;
38
- }
39
-
40
- }
41
-
42
-
43
- [TestFixture]
44
- public class CircBufferTests
45
- {
46
- #region Circular buffer tests
47
- [Test]
48
- public void SinglePutGet()
49
- {
50
- CircularBuffer buf = new CircularBuffer(10);
51
- Assert.AreEqual( 0, buf.Size );
52
- Assert.AreEqual( -1, buf.Get() );
53
-
54
- Assert.IsTrue(buf.Put( 1 ));
55
- Assert.AreEqual( 1, buf.Size );
56
- Assert.AreEqual( 1, buf.Get() );
57
- Assert.AreEqual( 0, buf.Size );
58
- Assert.AreEqual( -1, buf.Get() );
59
- }
60
-
61
- [Test]
62
- public void BlockPutGet()
63
- {
64
- CircularBuffer buf = new CircularBuffer(10);
65
- byte[] arr = {1,2,3,4,5,6,7,8,9,10};
66
- Assert.AreEqual( 10, buf.Put(arr,0,10) );
67
- Assert.AreEqual( 10, buf.Size );
68
- Assert.IsFalse( buf.Put(11) );
69
- Assert.AreEqual( 1, buf.Get() );
70
- Assert.IsTrue( buf.Put(11) );
71
-
72
- byte[] arr2 = (byte[])arr.Clone();
73
- Assert.AreEqual( 9, buf.Get(arr2,1,9) );
74
- Assert.IsTrue( Utils.byteArrEqual(arr,arr2) );
75
- }
76
-
77
- #endregion
78
- }
79
-
80
- [TestFixture]
81
- public class ChecksumTests
82
- {
83
- #region CRC32 Tests
84
- [Test]
85
- public void CRC32_Null()
86
- {
87
- CRC32Checksum crc32 = new CRC32Checksum();
88
- Assert.AreEqual( 0, crc32.Value );
89
-
90
- crc32 = new CRC32Checksum(1);
91
- Assert.AreEqual( 1, crc32.Value );
92
-
93
- crc32 = new CRC32Checksum(556);
94
- Assert.AreEqual( 556, crc32.Value );
95
- }
96
-
97
- [Test]
98
- public void CRC32_Data()
99
- {
100
- CRC32Checksum crc32 = new CRC32Checksum();
101
- byte[] data = { 1,2,3,4,5,6,7 };
102
- crc32.Update(data);
103
- Assert.AreEqual( 0x70e46888, crc32.Value );
104
-
105
- crc32 = new CRC32Checksum();
106
- crc32.Update("penguin");
107
- Assert.AreEqual( 0x0e5c1a120, crc32.Value );
108
-
109
- crc32 = new CRC32Checksum(1);
110
- crc32.Update("penguin");
111
- Assert.AreEqual(0x43b6aa94, crc32.Value);
112
-
113
- }
114
- #endregion
115
-
116
- #region Adler tests
117
-
118
- [Test]
119
- public void Adler_Null()
120
- {
121
- AdlerChecksum adler = new AdlerChecksum();
122
- Assert.AreEqual(0, adler.Value);
123
-
124
- adler = new AdlerChecksum(1);
125
- Assert.AreEqual( 1, adler.Value );
126
-
127
- adler = new AdlerChecksum(556);
128
- Assert.AreEqual( 556, adler.Value );
129
- }
130
-
131
- [Test]
132
- public void Adler_Data()
133
- {
134
- AdlerChecksum adler = new AdlerChecksum(1);
135
- byte[] data = { 1,2,3,4,5,6,7 };
136
- adler.Update(data);
137
- Assert.AreEqual( 0x5b001d, adler.Value );
138
-
139
- adler = new AdlerChecksum();
140
- adler.Update("penguin");
141
- Assert.AreEqual(0x0bcf02f6, adler.Value );
142
-
143
- adler = new AdlerChecksum(1);
144
- adler.Update("penguin");
145
- Assert.AreEqual(0x0bd602f7, adler.Value);
146
-
147
- }
148
- #endregion
149
- }
150
-
151
- [TestFixture]
152
- public class InfoTests
153
- {
154
- #region Info tests
155
- [Test]
156
- public void Info_Version()
157
- {
158
- Info info = new Info();
159
- Assert.AreEqual("1.2.3", Info.Version);
160
- Assert.AreEqual(32, info.SizeOfUInt);
161
- Assert.AreEqual(32, info.SizeOfULong);
162
- Assert.AreEqual(32, info.SizeOfPointer);
163
- Assert.AreEqual(32, info.SizeOfOffset);
164
- }
165
- #endregion
166
- }
167
-
168
- [TestFixture]
169
- public class DeflateInflateTests
170
- {
171
- #region Deflate tests
172
- [Test]
173
- public void Deflate_Init()
174
- {
175
- using (Deflater def = new Deflater(CompressLevel.Default))
176
- {
177
- }
178
- }
179
-
180
- private ArrayList compressedData = new ArrayList();
181
- private uint adler1;
182
-
183
- private ArrayList uncompressedData = new ArrayList();
184
- private uint adler2;
185
-
186
- public void CDataAvail(byte[] data, int startIndex, int count)
187
- {
188
- for (int i = 0; i < count; ++i)
189
- compressedData.Add(data[i+startIndex]);
190
- }
191
-
192
- [Test]
193
- public void Deflate_Compress()
194
- {
195
- compressedData.Clear();
196
-
197
- byte[] testData = new byte[35000];
198
- for (int i = 0; i < testData.Length; ++i)
199
- testData[i] = 5;
200
-
201
- using (Deflater def = new Deflater((CompressLevel)5))
202
- {
203
- def.DataAvailable += new DataAvailableHandler(CDataAvail);
204
- def.Add(testData);
205
- def.Finish();
206
- adler1 = def.Checksum;
207
- }
208
- }
209
- #endregion
210
-
211
- #region Inflate tests
212
- [Test]
213
- public void Inflate_Init()
214
- {
215
- using (Inflater inf = new Inflater())
216
- {
217
- }
218
- }
219
-
220
- private void DDataAvail(byte[] data, int startIndex, int count)
221
- {
222
- for (int i = 0; i < count; ++i)
223
- uncompressedData.Add(data[i+startIndex]);
224
- }
225
-
226
- [Test]
227
- public void Inflate_Expand()
228
- {
229
- uncompressedData.Clear();
230
-
231
- using (Inflater inf = new Inflater())
232
- {
233
- inf.DataAvailable += new DataAvailableHandler(DDataAvail);
234
- inf.Add((byte[])compressedData.ToArray(typeof(byte)));
235
- inf.Finish();
236
- adler2 = inf.Checksum;
237
- }
238
- Assert.AreEqual( adler1, adler2 );
239
- }
240
- #endregion
241
- }
242
-
243
- [TestFixture]
244
- public class GZipStreamTests
245
- {
246
- #region GZipStream test
247
- [Test]
248
- public void GZipStream_WriteRead()
249
- {
250
- using (GZipStream gzOut = new GZipStream("gzstream.gz", CompressLevel.Best))
251
- {
252
- BinaryWriter writer = new BinaryWriter(gzOut);
253
- writer.Write("hi there");
254
- writer.Write(Math.PI);
255
- writer.Write(42);
256
- }
257
-
258
- using (GZipStream gzIn = new GZipStream("gzstream.gz"))
259
- {
260
- BinaryReader reader = new BinaryReader(gzIn);
261
- string s = reader.ReadString();
262
- Assert.AreEqual("hi there",s);
263
- double d = reader.ReadDouble();
264
- Assert.AreEqual(Math.PI, d);
265
- int i = reader.ReadInt32();
266
- Assert.AreEqual(42,i);
267
- }
268
-
269
- }
270
- #endregion
271
- }
272
- }
273
-
274
- #endif
@@ -1,23 +0,0 @@
1
- Boost Software License - Version 1.0 - August 17th, 2003
2
-
3
- Permission is hereby granted, free of charge, to any person or organization
4
- obtaining a copy of the software and accompanying documentation covered by
5
- this license (the "Software") to use, reproduce, display, distribute,
6
- execute, and transmit the Software, and to prepare derivative works of the
7
- Software, and to permit third-parties to whom the Software is furnished to
8
- do so, all subject to the following:
9
-
10
- The copyright notices in the Software and this entire statement, including
11
- the above license grant, this restriction and the following disclaimer,
12
- must be included in all copies of the Software, in whole or in part, and
13
- all derivative works of the Software, unless such copies or derivative
14
- works are solely in the form of machine-executable object code generated by
15
- a source language processor.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20
- SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21
- FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
- DEALINGS IN THE SOFTWARE.
@@ -1,58 +0,0 @@
1
- This directory contains a .Net wrapper class library for the ZLib1.dll
2
-
3
- The wrapper includes support for inflating/deflating memory buffers,
4
- .Net streaming wrappers for the gz streams part of zlib, and wrappers
5
- for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples.
6
-
7
- Directory structure:
8
- --------------------
9
-
10
- LICENSE_1_0.txt - License file.
11
- readme.txt - This file.
12
- DotZLib.chm - Class library documentation
13
- DotZLib.build - NAnt build file
14
- DotZLib.sln - Microsoft Visual Studio 2003 solution file
15
-
16
- DotZLib\*.cs - Source files for the class library
17
-
18
- Unit tests:
19
- -----------
20
- The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher.
21
- To include unit tests in the build, define nunit before building.
22
-
23
-
24
- Build instructions:
25
- -------------------
26
-
27
- 1. Using Visual Studio.Net 2003:
28
- Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll)
29
- will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on
30
- you are building the release or debug version of the library. Check
31
- DotZLib/UnitTests.cs for instructions on how to include unit tests in the
32
- build.
33
-
34
- 2. Using NAnt:
35
- Open a command prompt with access to the build environment and run nant
36
- in the same directory as the DotZLib.build file.
37
- You can define 2 properties on the nant command-line to control the build:
38
- debug={true|false} to toggle between release/debug builds (default=true).
39
- nunit={true|false} to include or esclude unit tests (default=true).
40
- Also the target clean will remove binaries.
41
- Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release
42
- or ./DotZLib/bin/debug, depending on whether you are building the release
43
- or debug version of the library.
44
-
45
- Examples:
46
- nant -D:debug=false -D:nunit=false
47
- will build a release mode version of the library without unit tests.
48
- nant
49
- will build a debug version of the library with unit tests
50
- nant clean
51
- will remove all previously built files.
52
-
53
-
54
- ---------------------------------
55
- Copyright (c) Henrik Ravn 2004
56
-
57
- Use, modification and distribution are subject to the Boost Software License, Version 1.0.
58
- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -1 +0,0 @@
1
- See infback9.h for what this is and how to use it.
@@ -1,608 +0,0 @@
1
- /* infback9.c -- inflate deflate64 data using a call-back interface
2
- * Copyright (C) 1995-2003 Mark Adler
3
- * For conditions of distribution and use, see copyright notice in zlib.h
4
- */
5
-
6
- #include "zutil.h"
7
- #include "infback9.h"
8
- #include "inftree9.h"
9
- #include "inflate9.h"
10
-
11
- #define WSIZE 65536UL
12
-
13
- /*
14
- strm provides memory allocation functions in zalloc and zfree, or
15
- Z_NULL to use the library memory allocation functions.
16
-
17
- window is a user-supplied window and output buffer that is 64K bytes.
18
- */
19
- int ZEXPORT inflateBack9Init_(strm, window, version, stream_size)
20
- z_stream FAR *strm;
21
- unsigned char FAR *window;
22
- const char *version;
23
- int stream_size;
24
- {
25
- struct inflate_state FAR *state;
26
-
27
- if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
28
- stream_size != (int)(sizeof(z_stream)))
29
- return Z_VERSION_ERROR;
30
- if (strm == Z_NULL || window == Z_NULL)
31
- return Z_STREAM_ERROR;
32
- strm->msg = Z_NULL; /* in case we return an error */
33
- if (strm->zalloc == (alloc_func)0) {
34
- strm->zalloc = zcalloc;
35
- strm->opaque = (voidpf)0;
36
- }
37
- if (strm->zfree == (free_func)0) strm->zfree = zcfree;
38
- state = (struct inflate_state FAR *)ZALLOC(strm, 1,
39
- sizeof(struct inflate_state));
40
- if (state == Z_NULL) return Z_MEM_ERROR;
41
- Tracev((stderr, "inflate: allocated\n"));
42
- strm->state = (voidpf)state;
43
- state->window = window;
44
- return Z_OK;
45
- }
46
-
47
- /*
48
- Build and output length and distance decoding tables for fixed code
49
- decoding.
50
- */
51
- #ifdef MAKEFIXED
52
- #include <stdio.h>
53
-
54
- void makefixed9(void)
55
- {
56
- unsigned sym, bits, low, size;
57
- code *next, *lenfix, *distfix;
58
- struct inflate_state state;
59
- code fixed[544];
60
-
61
- /* literal/length table */
62
- sym = 0;
63
- while (sym < 144) state.lens[sym++] = 8;
64
- while (sym < 256) state.lens[sym++] = 9;
65
- while (sym < 280) state.lens[sym++] = 7;
66
- while (sym < 288) state.lens[sym++] = 8;
67
- next = fixed;
68
- lenfix = next;
69
- bits = 9;
70
- inflate_table9(LENS, state.lens, 288, &(next), &(bits), state.work);
71
-
72
- /* distance table */
73
- sym = 0;
74
- while (sym < 32) state.lens[sym++] = 5;
75
- distfix = next;
76
- bits = 5;
77
- inflate_table9(DISTS, state.lens, 32, &(next), &(bits), state.work);
78
-
79
- /* write tables */
80
- puts(" /* inffix9.h -- table for decoding deflate64 fixed codes");
81
- puts(" * Generated automatically by makefixed9().");
82
- puts(" */");
83
- puts("");
84
- puts(" /* WARNING: this file should *not* be used by applications.");
85
- puts(" It is part of the implementation of this library and is");
86
- puts(" subject to change. Applications should only use zlib.h.");
87
- puts(" */");
88
- puts("");
89
- size = 1U << 9;
90
- printf(" static const code lenfix[%u] = {", size);
91
- low = 0;
92
- for (;;) {
93
- if ((low % 6) == 0) printf("\n ");
94
- printf("{%u,%u,%d}", lenfix[low].op, lenfix[low].bits,
95
- lenfix[low].val);
96
- if (++low == size) break;
97
- putchar(',');
98
- }
99
- puts("\n };");
100
- size = 1U << 5;
101
- printf("\n static const code distfix[%u] = {", size);
102
- low = 0;
103
- for (;;) {
104
- if ((low % 5) == 0) printf("\n ");
105
- printf("{%u,%u,%d}", distfix[low].op, distfix[low].bits,
106
- distfix[low].val);
107
- if (++low == size) break;
108
- putchar(',');
109
- }
110
- puts("\n };");
111
- }
112
- #endif /* MAKEFIXED */
113
-
114
- /* Macros for inflateBack(): */
115
-
116
- /* Clear the input bit accumulator */
117
- #define INITBITS() \
118
- do { \
119
- hold = 0; \
120
- bits = 0; \
121
- } while (0)
122
-
123
- /* Assure that some input is available. If input is requested, but denied,
124
- then return a Z_BUF_ERROR from inflateBack(). */
125
- #define PULL() \
126
- do { \
127
- if (have == 0) { \
128
- have = in(in_desc, &next); \
129
- if (have == 0) { \
130
- next = Z_NULL; \
131
- ret = Z_BUF_ERROR; \
132
- goto inf_leave; \
133
- } \
134
- } \
135
- } while (0)
136
-
137
- /* Get a byte of input into the bit accumulator, or return from inflateBack()
138
- with an error if there is no input available. */
139
- #define PULLBYTE() \
140
- do { \
141
- PULL(); \
142
- have--; \
143
- hold += (unsigned long)(*next++) << bits; \
144
- bits += 8; \
145
- } while (0)
146
-
147
- /* Assure that there are at least n bits in the bit accumulator. If there is
148
- not enough available input to do that, then return from inflateBack() with
149
- an error. */
150
- #define NEEDBITS(n) \
151
- do { \
152
- while (bits < (unsigned)(n)) \
153
- PULLBYTE(); \
154
- } while (0)
155
-
156
- /* Return the low n bits of the bit accumulator (n <= 16) */
157
- #define BITS(n) \
158
- ((unsigned)hold & ((1U << (n)) - 1))
159
-
160
- /* Remove n bits from the bit accumulator */
161
- #define DROPBITS(n) \
162
- do { \
163
- hold >>= (n); \
164
- bits -= (unsigned)(n); \
165
- } while (0)
166
-
167
- /* Remove zero to seven bits as needed to go to a byte boundary */
168
- #define BYTEBITS() \
169
- do { \
170
- hold >>= bits & 7; \
171
- bits -= bits & 7; \
172
- } while (0)
173
-
174
- /* Assure that some output space is available, by writing out the window
175
- if it's full. If the write fails, return from inflateBack() with a
176
- Z_BUF_ERROR. */
177
- #define ROOM() \
178
- do { \
179
- if (left == 0) { \
180
- put = window; \
181
- left = WSIZE; \
182
- wrap = 1; \
183
- if (out(out_desc, put, (unsigned)left)) { \
184
- ret = Z_BUF_ERROR; \
185
- goto inf_leave; \
186
- } \
187
- } \
188
- } while (0)
189
-
190
- /*
191
- strm provides the memory allocation functions and window buffer on input,
192
- and provides information on the unused input on return. For Z_DATA_ERROR
193
- returns, strm will also provide an error message.
194
-
195
- in() and out() are the call-back input and output functions. When
196
- inflateBack() needs more input, it calls in(). When inflateBack() has
197
- filled the window with output, or when it completes with data in the
198
- window, it calls out() to write out the data. The application must not
199
- change the provided input until in() is called again or inflateBack()
200
- returns. The application must not change the window/output buffer until
201
- inflateBack() returns.
202
-
203
- in() and out() are called with a descriptor parameter provided in the
204
- inflateBack() call. This parameter can be a structure that provides the
205
- information required to do the read or write, as well as accumulated
206
- information on the input and output such as totals and check values.
207
-
208
- in() should return zero on failure. out() should return non-zero on
209
- failure. If either in() or out() fails, than inflateBack() returns a
210
- Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
211
- was in() or out() that caused in the error. Otherwise, inflateBack()
212
- returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
213
- error, or Z_MEM_ERROR if it could not allocate memory for the state.
214
- inflateBack() can also return Z_STREAM_ERROR if the input parameters
215
- are not correct, i.e. strm is Z_NULL or the state was not initialized.
216
- */
217
- int ZEXPORT inflateBack9(strm, in, in_desc, out, out_desc)
218
- z_stream FAR *strm;
219
- in_func in;
220
- void FAR *in_desc;
221
- out_func out;
222
- void FAR *out_desc;
223
- {
224
- struct inflate_state FAR *state;
225
- unsigned char FAR *next; /* next input */
226
- unsigned char FAR *put; /* next output */
227
- unsigned have; /* available input */
228
- unsigned long left; /* available output */
229
- inflate_mode mode; /* current inflate mode */
230
- int lastblock; /* true if processing last block */
231
- int wrap; /* true if the window has wrapped */
232
- unsigned long write; /* window write index */
233
- unsigned char FAR *window; /* allocated sliding window, if needed */
234
- unsigned long hold; /* bit buffer */
235
- unsigned bits; /* bits in bit buffer */
236
- unsigned extra; /* extra bits needed */
237
- unsigned long length; /* literal or length of data to copy */
238
- unsigned long offset; /* distance back to copy string from */
239
- unsigned long copy; /* number of stored or match bytes to copy */
240
- unsigned char FAR *from; /* where to copy match bytes from */
241
- code const FAR *lencode; /* starting table for length/literal codes */
242
- code const FAR *distcode; /* starting table for distance codes */
243
- unsigned lenbits; /* index bits for lencode */
244
- unsigned distbits; /* index bits for distcode */
245
- code this; /* current decoding table entry */
246
- code last; /* parent table entry */
247
- unsigned len; /* length to copy for repeats, bits to drop */
248
- int ret; /* return code */
249
- static const unsigned short order[19] = /* permutation of code lengths */
250
- {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
251
- #include "inffix9.h"
252
-
253
- /* Check that the strm exists and that the state was initialized */
254
- if (strm == Z_NULL || strm->state == Z_NULL)
255
- return Z_STREAM_ERROR;
256
- state = (struct inflate_state FAR *)strm->state;
257
-
258
- /* Reset the state */
259
- strm->msg = Z_NULL;
260
- mode = TYPE;
261
- lastblock = 0;
262
- write = 0;
263
- wrap = 0;
264
- window = state->window;
265
- next = strm->next_in;
266
- have = next != Z_NULL ? strm->avail_in : 0;
267
- hold = 0;
268
- bits = 0;
269
- put = window;
270
- left = WSIZE;
271
- lencode = Z_NULL;
272
- distcode = Z_NULL;
273
-
274
- /* Inflate until end of block marked as last */
275
- for (;;)
276
- switch (mode) {
277
- case TYPE:
278
- /* determine and dispatch block type */
279
- if (lastblock) {
280
- BYTEBITS();
281
- mode = DONE;
282
- break;
283
- }
284
- NEEDBITS(3);
285
- lastblock = BITS(1);
286
- DROPBITS(1);
287
- switch (BITS(2)) {
288
- case 0: /* stored block */
289
- Tracev((stderr, "inflate: stored block%s\n",
290
- lastblock ? " (last)" : ""));
291
- mode = STORED;
292
- break;
293
- case 1: /* fixed block */
294
- lencode = lenfix;
295
- lenbits = 9;
296
- distcode = distfix;
297
- distbits = 5;
298
- Tracev((stderr, "inflate: fixed codes block%s\n",
299
- lastblock ? " (last)" : ""));
300
- mode = LEN; /* decode codes */
301
- break;
302
- case 2: /* dynamic block */
303
- Tracev((stderr, "inflate: dynamic codes block%s\n",
304
- lastblock ? " (last)" : ""));
305
- mode = TABLE;
306
- break;
307
- case 3:
308
- strm->msg = (char *)"invalid block type";
309
- mode = BAD;
310
- }
311
- DROPBITS(2);
312
- break;
313
-
314
- case STORED:
315
- /* get and verify stored block length */
316
- BYTEBITS(); /* go to byte boundary */
317
- NEEDBITS(32);
318
- if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
319
- strm->msg = (char *)"invalid stored block lengths";
320
- mode = BAD;
321
- break;
322
- }
323
- length = (unsigned)hold & 0xffff;
324
- Tracev((stderr, "inflate: stored length %lu\n",
325
- length));
326
- INITBITS();
327
-
328
- /* copy stored block from input to output */
329
- while (length != 0) {
330
- copy = length;
331
- PULL();
332
- ROOM();
333
- if (copy > have) copy = have;
334
- if (copy > left) copy = left;
335
- zmemcpy(put, next, copy);
336
- have -= copy;
337
- next += copy;
338
- left -= copy;
339
- put += copy;
340
- length -= copy;
341
- }
342
- Tracev((stderr, "inflate: stored end\n"));
343
- mode = TYPE;
344
- break;
345
-
346
- case TABLE:
347
- /* get dynamic table entries descriptor */
348
- NEEDBITS(14);
349
- state->nlen = BITS(5) + 257;
350
- DROPBITS(5);
351
- state->ndist = BITS(5) + 1;
352
- DROPBITS(5);
353
- state->ncode = BITS(4) + 4;
354
- DROPBITS(4);
355
- if (state->nlen > 286) {
356
- strm->msg = (char *)"too many length symbols";
357
- mode = BAD;
358
- break;
359
- }
360
- Tracev((stderr, "inflate: table sizes ok\n"));
361
-
362
- /* get code length code lengths (not a typo) */
363
- state->have = 0;
364
- while (state->have < state->ncode) {
365
- NEEDBITS(3);
366
- state->lens[order[state->have++]] = (unsigned short)BITS(3);
367
- DROPBITS(3);
368
- }
369
- while (state->have < 19)
370
- state->lens[order[state->have++]] = 0;
371
- state->next = state->codes;
372
- lencode = (code const FAR *)(state->next);
373
- lenbits = 7;
374
- ret = inflate_table9(CODES, state->lens, 19, &(state->next),
375
- &(lenbits), state->work);
376
- if (ret) {
377
- strm->msg = (char *)"invalid code lengths set";
378
- mode = BAD;
379
- break;
380
- }
381
- Tracev((stderr, "inflate: code lengths ok\n"));
382
-
383
- /* get length and distance code code lengths */
384
- state->have = 0;
385
- while (state->have < state->nlen + state->ndist) {
386
- for (;;) {
387
- this = lencode[BITS(lenbits)];
388
- if ((unsigned)(this.bits) <= bits) break;
389
- PULLBYTE();
390
- }
391
- if (this.val < 16) {
392
- NEEDBITS(this.bits);
393
- DROPBITS(this.bits);
394
- state->lens[state->have++] = this.val;
395
- }
396
- else {
397
- if (this.val == 16) {
398
- NEEDBITS(this.bits + 2);
399
- DROPBITS(this.bits);
400
- if (state->have == 0) {
401
- strm->msg = (char *)"invalid bit length repeat";
402
- mode = BAD;
403
- break;
404
- }
405
- len = (unsigned)(state->lens[state->have - 1]);
406
- copy = 3 + BITS(2);
407
- DROPBITS(2);
408
- }
409
- else if (this.val == 17) {
410
- NEEDBITS(this.bits + 3);
411
- DROPBITS(this.bits);
412
- len = 0;
413
- copy = 3 + BITS(3);
414
- DROPBITS(3);
415
- }
416
- else {
417
- NEEDBITS(this.bits + 7);
418
- DROPBITS(this.bits);
419
- len = 0;
420
- copy = 11 + BITS(7);
421
- DROPBITS(7);
422
- }
423
- if (state->have + copy > state->nlen + state->ndist) {
424
- strm->msg = (char *)"invalid bit length repeat";
425
- mode = BAD;
426
- break;
427
- }
428
- while (copy--)
429
- state->lens[state->have++] = (unsigned short)len;
430
- }
431
- }
432
-
433
- /* handle error breaks in while */
434
- if (mode == BAD) break;
435
-
436
- /* build code tables */
437
- state->next = state->codes;
438
- lencode = (code const FAR *)(state->next);
439
- lenbits = 9;
440
- ret = inflate_table9(LENS, state->lens, state->nlen,
441
- &(state->next), &(lenbits), state->work);
442
- if (ret) {
443
- strm->msg = (char *)"invalid literal/lengths set";
444
- mode = BAD;
445
- break;
446
- }
447
- distcode = (code const FAR *)(state->next);
448
- distbits = 6;
449
- ret = inflate_table9(DISTS, state->lens + state->nlen,
450
- state->ndist, &(state->next), &(distbits),
451
- state->work);
452
- if (ret) {
453
- strm->msg = (char *)"invalid distances set";
454
- mode = BAD;
455
- break;
456
- }
457
- Tracev((stderr, "inflate: codes ok\n"));
458
- mode = LEN;
459
-
460
- case LEN:
461
- /* get a literal, length, or end-of-block code */
462
- for (;;) {
463
- this = lencode[BITS(lenbits)];
464
- if ((unsigned)(this.bits) <= bits) break;
465
- PULLBYTE();
466
- }
467
- if (this.op && (this.op & 0xf0) == 0) {
468
- last = this;
469
- for (;;) {
470
- this = lencode[last.val +
471
- (BITS(last.bits + last.op) >> last.bits)];
472
- if ((unsigned)(last.bits + this.bits) <= bits) break;
473
- PULLBYTE();
474
- }
475
- DROPBITS(last.bits);
476
- }
477
- DROPBITS(this.bits);
478
- length = (unsigned)this.val;
479
-
480
- /* process literal */
481
- if (this.op == 0) {
482
- Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ?
483
- "inflate: literal '%c'\n" :
484
- "inflate: literal 0x%02x\n", this.val));
485
- ROOM();
486
- *put++ = (unsigned char)(length);
487
- left--;
488
- mode = LEN;
489
- break;
490
- }
491
-
492
- /* process end of block */
493
- if (this.op & 32) {
494
- Tracevv((stderr, "inflate: end of block\n"));
495
- mode = TYPE;
496
- break;
497
- }
498
-
499
- /* invalid code */
500
- if (this.op & 64) {
501
- strm->msg = (char *)"invalid literal/length code";
502
- mode = BAD;
503
- break;
504
- }
505
-
506
- /* length code -- get extra bits, if any */
507
- extra = (unsigned)(this.op) & 31;
508
- if (extra != 0) {
509
- NEEDBITS(extra);
510
- length += BITS(extra);
511
- DROPBITS(extra);
512
- }
513
- Tracevv((stderr, "inflate: length %lu\n", length));
514
-
515
- /* get distance code */
516
- for (;;) {
517
- this = distcode[BITS(distbits)];
518
- if ((unsigned)(this.bits) <= bits) break;
519
- PULLBYTE();
520
- }
521
- if ((this.op & 0xf0) == 0) {
522
- last = this;
523
- for (;;) {
524
- this = distcode[last.val +
525
- (BITS(last.bits + last.op) >> last.bits)];
526
- if ((unsigned)(last.bits + this.bits) <= bits) break;
527
- PULLBYTE();
528
- }
529
- DROPBITS(last.bits);
530
- }
531
- DROPBITS(this.bits);
532
- if (this.op & 64) {
533
- strm->msg = (char *)"invalid distance code";
534
- mode = BAD;
535
- break;
536
- }
537
- offset = (unsigned)this.val;
538
-
539
- /* get distance extra bits, if any */
540
- extra = (unsigned)(this.op) & 15;
541
- if (extra != 0) {
542
- NEEDBITS(extra);
543
- offset += BITS(extra);
544
- DROPBITS(extra);
545
- }
546
- if (offset > WSIZE - (wrap ? 0: left)) {
547
- strm->msg = (char *)"invalid distance too far back";
548
- mode = BAD;
549
- break;
550
- }
551
- Tracevv((stderr, "inflate: distance %lu\n", offset));
552
-
553
- /* copy match from window to output */
554
- do {
555
- ROOM();
556
- copy = WSIZE - offset;
557
- if (copy < left) {
558
- from = put + copy;
559
- copy = left - copy;
560
- }
561
- else {
562
- from = put - offset;
563
- copy = left;
564
- }
565
- if (copy > length) copy = length;
566
- length -= copy;
567
- left -= copy;
568
- do {
569
- *put++ = *from++;
570
- } while (--copy);
571
- } while (length != 0);
572
- break;
573
-
574
- case DONE:
575
- /* inflate stream terminated properly -- write leftover output */
576
- ret = Z_STREAM_END;
577
- if (left < WSIZE) {
578
- if (out(out_desc, window, (unsigned)(WSIZE - left)))
579
- ret = Z_BUF_ERROR;
580
- }
581
- goto inf_leave;
582
-
583
- case BAD:
584
- ret = Z_DATA_ERROR;
585
- goto inf_leave;
586
-
587
- default: /* can't happen, but makes compilers happy */
588
- ret = Z_STREAM_ERROR;
589
- goto inf_leave;
590
- }
591
-
592
- /* Return unused input */
593
- inf_leave:
594
- strm->next_in = next;
595
- strm->avail_in = have;
596
- return ret;
597
- }
598
-
599
- int ZEXPORT inflateBack9End(strm)
600
- z_stream FAR *strm;
601
- {
602
- if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
603
- return Z_STREAM_ERROR;
604
- ZFREE(strm, strm->state);
605
- strm->state = Z_NULL;
606
- Tracev((stderr, "inflate: end\n"));
607
- return Z_OK;
608
- }