zeroc-ice 3.6.5 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (752) hide show
  1. checksums.yaml +4 -4
  2. data/BZIP2_LICENSE +42 -0
  3. data/ICE_LICENSE +17 -17
  4. data/LICENSE +12 -12
  5. data/bin/slice2rb +1 -1
  6. data/ext/Communicator.cpp +150 -53
  7. data/ext/Communicator.h +1 -1
  8. data/ext/Config.h +2 -12
  9. data/ext/Connection.cpp +89 -68
  10. data/ext/Connection.h +1 -1
  11. data/ext/Endpoint.cpp +16 -45
  12. data/ext/Endpoint.h +1 -1
  13. data/ext/ImplicitContext.cpp +1 -5
  14. data/ext/ImplicitContext.h +1 -1
  15. data/ext/Init.cpp +4 -1
  16. data/ext/Logger.cpp +1 -1
  17. data/ext/Logger.h +1 -1
  18. data/ext/Operation.cpp +33 -44
  19. data/ext/Operation.h +1 -1
  20. data/ext/Properties.cpp +1 -1
  21. data/ext/Properties.h +1 -1
  22. data/ext/Proxy.cpp +22 -57
  23. data/ext/Proxy.h +1 -1
  24. data/ext/Slice.cpp +5 -5
  25. data/ext/Slice.h +1 -1
  26. data/ext/Types.cpp +244 -171
  27. data/ext/Types.h +118 -66
  28. data/ext/Util.cpp +13 -9
  29. data/ext/Util.h +10 -10
  30. data/ext/ValueFactoryManager.cpp +445 -0
  31. data/ext/ValueFactoryManager.h +100 -0
  32. data/ext/extconf.rb +47 -45
  33. data/ext/ice/bzip2/blocksort.c +1094 -0
  34. data/ext/ice/bzip2/bzlib.c +1572 -0
  35. data/ext/ice/bzip2/bzlib.h +282 -0
  36. data/ext/ice/bzip2/bzlib_private.h +509 -0
  37. data/ext/ice/bzip2/compress.c +672 -0
  38. data/ext/ice/bzip2/crctable.c +104 -0
  39. data/ext/ice/bzip2/decompress.c +646 -0
  40. data/ext/ice/bzip2/huffman.c +205 -0
  41. data/ext/ice/bzip2/randtable.c +84 -0
  42. data/ext/ice/cpp/include/Ice/Application.h +77 -60
  43. data/ext/ice/cpp/include/Ice/AsyncResult.h +34 -318
  44. data/ext/ice/cpp/include/Ice/AsyncResultF.h +4 -2
  45. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +5 -10
  46. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  47. data/ext/ice/cpp/include/Ice/Buffer.h +10 -10
  48. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +14 -12
  49. data/ext/ice/cpp/include/Ice/Comparable.h +130 -0
  50. data/ext/ice/cpp/include/Ice/Config.h +7 -36
  51. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +107 -11
  52. data/ext/ice/cpp/include/Ice/ConnectionIF.h +5 -1
  53. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +28 -0
  54. data/ext/ice/cpp/include/Ice/{DefaultObjectFactory.h → DefaultValueFactory.h} +28 -14
  55. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +4 -6
  56. data/ext/ice/cpp/include/Ice/Dispatcher.h +14 -13
  57. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +7 -5
  58. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  59. data/ext/ice/cpp/include/Ice/Exception.h +66 -56
  60. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +69 -0
  61. data/ext/ice/cpp/include/Ice/FactoryTable.h +11 -12
  62. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +27 -25
  63. data/ext/ice/cpp/include/Ice/Format.h +6 -1
  64. data/ext/ice/cpp/include/Ice/Functional.h +33 -33
  65. data/ext/ice/cpp/include/Ice/GCObject.h +9 -5
  66. data/ext/ice/cpp/include/Ice/Handle.h +6 -11
  67. data/ext/ice/cpp/include/Ice/Ice.h +9 -5
  68. data/ext/ice/cpp/include/{IceUtil → Ice}/IconvStringConverter.h +108 -62
  69. data/ext/ice/cpp/include/Ice/Incoming.h +109 -33
  70. data/ext/ice/cpp/include/Ice/IncomingAsync.h +63 -23
  71. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +7 -1
  72. data/ext/ice/cpp/include/Ice/Initialize.h +178 -38
  73. data/ext/ice/cpp/include/Ice/InputStream.h +994 -0
  74. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -2
  75. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +46 -0
  76. data/ext/ice/cpp/include/Ice/LocalObject.h +9 -9
  77. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  78. data/ext/ice/cpp/include/Ice/LoggerUtil.h +20 -14
  79. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +114 -65
  80. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +23 -5
  81. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +99 -26
  82. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +17 -4
  83. data/ext/ice/cpp/include/Ice/Object.h +105 -56
  84. data/ext/ice/cpp/include/Ice/ObjectF.h +8 -3
  85. data/ext/ice/cpp/include/Ice/ObserverHelper.h +18 -8
  86. data/ext/ice/cpp/include/Ice/Optional.h +1084 -0
  87. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +655 -84
  88. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +12 -6
  89. data/ext/ice/cpp/include/Ice/OutputStream.h +753 -0
  90. data/ext/ice/cpp/include/Ice/Protocol.h +19 -12
  91. data/ext/ice/cpp/include/Ice/Proxy.h +1329 -717
  92. data/ext/ice/cpp/include/Ice/ProxyF.h +11 -33
  93. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  94. data/ext/ice/cpp/include/Ice/ProxyHandle.h +34 -50
  95. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +22 -3
  97. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +10 -4
  98. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +6 -1
  99. data/ext/ice/cpp/include/{IceUtil → Ice}/SHA1.h +16 -16
  100. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  101. data/ext/ice/cpp/include/Ice/Service.h +13 -18
  102. data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
  103. data/ext/ice/cpp/include/Ice/SlicedData.h +46 -20
  104. data/ext/ice/cpp/include/Ice/SlicedDataF.h +14 -6
  105. data/ext/ice/cpp/include/Ice/StreamHelpers.h +159 -49
  106. data/ext/ice/cpp/include/Ice/StringConverter.h +52 -0
  107. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  108. data/{slice/Ice/ObjectFactoryF.ice → ext/ice/cpp/include/Ice/UUID.h} +9 -7
  109. data/ext/ice/cpp/include/{IceUtil → Ice}/UniquePtr.h +21 -22
  110. data/ext/ice/cpp/include/Ice/UniqueRef.h +98 -0
  111. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +40 -8
  112. data/ext/ice/cpp/include/Ice/Value.h +104 -0
  113. data/{slice/Freeze/ConnectionF.ice → ext/ice/cpp/include/Ice/ValueF.h} +11 -7
  114. data/ext/ice/cpp/include/IceSSL/Config.h +8 -23
  115. data/ext/ice/cpp/include/IceSSL/IceSSL.h +17 -6
  116. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +130 -0
  117. data/ext/ice/cpp/include/IceSSL/Plugin.h +172 -259
  118. data/ext/ice/cpp/include/IceSSL/SChannel.h +66 -0
  119. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +66 -0
  120. data/ext/ice/cpp/include/IceSSL/UWP.h +58 -0
  121. data/ext/ice/cpp/include/IceUtil/Atomic.h +8 -10
  122. data/ext/ice/cpp/include/IceUtil/Cond.h +17 -18
  123. data/ext/ice/cpp/include/IceUtil/Config.h +138 -39
  124. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +97 -0
  125. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +5 -5
  126. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +23 -17
  127. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -3
  128. data/ext/ice/cpp/include/IceUtil/Exception.h +157 -67
  129. data/ext/ice/cpp/include/IceUtil/FileUtil.h +148 -0
  130. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -2
  131. data/ext/ice/cpp/include/IceUtil/Handle.h +11 -11
  132. data/ext/ice/cpp/include/IceUtil/IceUtil.h +4 -10
  133. data/ext/ice/cpp/include/IceUtil/InputUtil.h +3 -3
  134. data/ext/ice/cpp/include/IceUtil/Iterator.h +2 -2
  135. data/ext/ice/cpp/include/IceUtil/Lock.h +8 -10
  136. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -2
  137. data/ext/ice/cpp/include/IceUtil/Mutex.h +17 -11
  138. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +2 -2
  139. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
  140. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +4 -4
  141. data/ext/ice/cpp/include/IceUtil/Optional.h +32 -18
  142. data/ext/ice/cpp/include/IceUtil/Options.h +17 -18
  143. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +55 -29
  144. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +6 -6
  145. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +11 -10
  146. data/ext/ice/cpp/include/IceUtil/Random.h +3 -3
  147. data/ext/ice/cpp/include/IceUtil/RecMutex.h +7 -8
  148. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +58 -0
  149. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +1 -9
  150. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +8 -2
  151. data/ext/ice/cpp/include/IceUtil/Shared.h +5 -7
  152. data/ext/ice/cpp/{src → include}/IceUtil/StopWatch.h +2 -2
  153. data/ext/ice/cpp/include/IceUtil/StringConverter.h +77 -72
  154. data/ext/ice/cpp/include/IceUtil/StringUtil.h +32 -21
  155. data/ext/ice/cpp/include/IceUtil/Thread.h +10 -12
  156. data/ext/ice/cpp/include/IceUtil/ThreadException.h +33 -42
  157. data/ext/ice/cpp/include/IceUtil/Time.h +3 -3
  158. data/ext/ice/cpp/include/IceUtil/Timer.h +14 -13
  159. data/ext/ice/cpp/include/IceUtil/UUID.h +2 -2
  160. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  161. data/ext/ice/cpp/include/{Ice → generated/Ice}/BuiltinSequences.h +41 -8
  162. data/ext/ice/cpp/include/generated/Ice/Communicator.h +364 -0
  163. data/ext/ice/cpp/include/{Ice → generated/Ice}/CommunicatorF.h +40 -8
  164. data/ext/ice/cpp/include/generated/Ice/Connection.h +872 -0
  165. data/ext/ice/cpp/include/{Ice → generated/Ice}/ConnectionF.h +46 -8
  166. data/ext/ice/cpp/include/{Ice → generated/Ice}/Current.h +71 -8
  167. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +582 -0
  168. data/ext/ice/cpp/include/{Ice → generated/Ice}/EndpointF.h +62 -8
  169. data/ext/ice/cpp/include/{Ice → generated/Ice}/EndpointTypes.h +31 -16
  170. data/ext/ice/cpp/include/{Ice → generated/Ice}/FacetMap.h +23 -8
  171. data/ext/ice/cpp/include/generated/Ice/Identity.h +221 -0
  172. data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContext.h +72 -13
  173. data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContextF.h +40 -8
  174. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +602 -0
  175. data/ext/ice/cpp/include/{Ice → generated/Ice}/InstrumentationF.h +54 -8
  176. data/ext/ice/cpp/include/generated/Ice/LocalException.h +2802 -0
  177. data/ext/ice/cpp/include/generated/Ice/Locator.h +2036 -0
  178. data/ext/ice/cpp/include/{Ice → generated/Ice}/LocatorF.h +53 -12
  179. data/ext/ice/cpp/include/{Ice → generated/Ice}/Logger.h +71 -13
  180. data/ext/ice/cpp/include/{Ice → generated/Ice}/LoggerF.h +40 -8
  181. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2649 -0
  182. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +302 -0
  183. data/ext/ice/cpp/include/{Ice → generated/Ice}/ObjectAdapterF.h +40 -8
  184. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +142 -0
  185. data/ext/ice/cpp/include/generated/Ice/Plugin.h +197 -0
  186. data/ext/ice/cpp/include/{Ice → generated/Ice}/PluginF.h +43 -8
  187. data/ext/ice/cpp/include/generated/Ice/Process.h +536 -0
  188. data/ext/ice/cpp/include/{Ice → generated/Ice}/ProcessF.h +45 -10
  189. data/ext/ice/cpp/include/{Ice → generated/Ice}/Properties.h +88 -21
  190. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +749 -0
  191. data/ext/ice/cpp/include/{Ice → generated/Ice}/PropertiesF.h +48 -10
  192. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1449 -0
  193. data/ext/ice/cpp/include/generated/Ice/Router.h +1032 -0
  194. data/ext/ice/cpp/include/{Ice → generated/Ice}/RouterF.h +45 -10
  195. data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocator.h +65 -13
  196. data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocatorF.h +40 -8
  197. data/ext/ice/cpp/include/{Ice → generated/Ice}/SliceChecksumDict.h +23 -8
  198. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +169 -0
  199. data/ext/ice/cpp/include/generated/Ice/Version.h +334 -0
  200. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +172 -0
  201. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +98 -0
  202. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +156 -0
  203. data/ext/ice/cpp/src/Ice/ACM.cpp +18 -14
  204. data/ext/ice/cpp/src/Ice/ACM.h +9 -2
  205. data/ext/ice/cpp/{include → src}/Ice/ACMF.h +10 -5
  206. data/ext/ice/cpp/src/Ice/Acceptor.cpp +6 -1
  207. data/ext/ice/cpp/src/Ice/Acceptor.h +4 -3
  208. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  209. data/ext/ice/cpp/src/{IceUtil → Ice}/ArgVector.cpp +9 -9
  210. data/ext/ice/cpp/src/{IceUtil → Ice}/ArgVector.h +7 -7
  211. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +15 -538
  212. data/ext/ice/cpp/src/Ice/Base64.cpp +11 -11
  213. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  214. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +40 -12
  215. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +15 -10
  216. data/ext/ice/cpp/src/Ice/Buffer.cpp +74 -12
  217. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +20 -6
  218. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +85 -190
  219. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +17 -18
  220. data/ext/ice/cpp/src/Ice/Communicator.cpp +39 -8
  221. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +27 -5
  222. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +271 -104
  223. data/ext/ice/cpp/src/Ice/CommunicatorI.h +84 -28
  224. data/ext/ice/cpp/src/{IceUtil → Ice}/Cond.cpp +3 -3
  225. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +58 -125
  226. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +11 -22
  227. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +6 -2
  228. data/ext/ice/cpp/src/Ice/Connection.cpp +88 -8
  229. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +27 -5
  230. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +158 -80
  231. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +41 -23
  232. data/ext/ice/cpp/{include → src}/Ice/ConnectionFactoryF.h +8 -3
  233. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +707 -653
  234. data/ext/ice/cpp/src/Ice/ConnectionI.h +97 -69
  235. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +2 -15
  236. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +4 -3
  237. data/ext/ice/cpp/src/Ice/Connector.cpp +6 -1
  238. data/ext/ice/cpp/src/Ice/Connector.h +4 -3
  239. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  240. data/ext/ice/cpp/src/{IceUtil → Ice}/CountDownLatch.cpp +4 -4
  241. data/ext/ice/cpp/src/Ice/Current.cpp +29 -6
  242. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +6 -5
  243. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  244. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  245. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +5 -25
  246. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +29 -19
  247. data/ext/ice/cpp/src/Ice/Endpoint.cpp +85 -6
  248. data/ext/ice/cpp/src/Ice/EndpointF.cpp +27 -5
  249. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +152 -1
  250. data/ext/ice/cpp/src/Ice/EndpointFactory.h +72 -6
  251. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  252. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +35 -19
  253. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +10 -4
  254. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  255. data/ext/ice/cpp/src/Ice/EndpointI.cpp +17 -1
  256. data/ext/ice/cpp/src/Ice/EndpointI.h +35 -9
  257. data/ext/ice/cpp/src/Ice/EndpointIF.h +18 -5
  258. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +18 -6
  259. data/ext/ice/cpp/src/Ice/EventHandler.cpp +6 -4
  260. data/ext/ice/cpp/src/Ice/EventHandler.h +13 -8
  261. data/ext/ice/cpp/src/Ice/EventHandlerF.h +5 -2
  262. data/ext/ice/cpp/src/Ice/Exception.cpp +95 -86
  263. data/ext/ice/cpp/src/Ice/FacetMap.cpp +20 -6
  264. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +37 -28
  265. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -4
  266. data/ext/ice/cpp/src/Ice/GCObject.cpp +28 -25
  267. data/ext/ice/cpp/src/Ice/HashUtil.h +2 -3
  268. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -2
  269. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  270. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +92 -53
  271. data/ext/ice/cpp/src/Ice/IPEndpointI.h +19 -10
  272. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +6 -2
  273. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +56 -0
  274. data/ext/ice/cpp/src/Ice/Identity.cpp +24 -10
  275. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +37 -6
  276. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +27 -5
  277. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +14 -14
  278. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +7 -5
  279. data/ext/ice/cpp/src/Ice/Incoming.cpp +276 -245
  280. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +104 -209
  281. data/ext/ice/cpp/src/Ice/IncomingRequest.h +5 -4
  282. data/ext/ice/cpp/src/Ice/Initialize.cpp +299 -172
  283. data/ext/ice/cpp/src/Ice/InputStream.cpp +2773 -0
  284. data/ext/ice/cpp/src/Ice/Instance.cpp +191 -231
  285. data/ext/ice/cpp/src/Ice/Instance.h +30 -18
  286. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +106 -7
  287. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +27 -5
  288. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +117 -99
  289. data/ext/ice/cpp/src/Ice/InstrumentationI.h +30 -31
  290. data/ext/ice/cpp/src/Ice/LocalException.cpp +1190 -416
  291. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -2
  292. data/ext/ice/cpp/src/Ice/Locator.cpp +1167 -1215
  293. data/ext/ice/cpp/src/Ice/LocatorF.cpp +29 -6
  294. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +129 -163
  295. data/ext/ice/cpp/src/Ice/LocatorInfo.h +29 -29
  296. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  297. data/ext/ice/cpp/src/Ice/Logger.cpp +35 -5
  298. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +178 -73
  299. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +4 -4
  300. data/ext/ice/cpp/src/Ice/LoggerF.cpp +27 -5
  301. data/ext/ice/cpp/src/Ice/LoggerI.cpp +14 -44
  302. data/ext/ice/cpp/src/Ice/LoggerI.h +7 -13
  303. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +10 -12
  304. data/ext/ice/cpp/src/Ice/Metrics.cpp +1059 -1069
  305. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +49 -19
  306. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -2
  307. data/ext/ice/cpp/src/Ice/Network.cpp +534 -170
  308. data/ext/ice/cpp/src/Ice/Network.h +100 -23
  309. data/ext/ice/cpp/src/Ice/NetworkF.h +2 -2
  310. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +21 -14
  311. data/ext/ice/cpp/src/Ice/NetworkProxy.h +5 -2
  312. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  313. data/ext/ice/cpp/src/Ice/Object.cpp +217 -221
  314. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +41 -6
  315. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +27 -5
  316. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +35 -14
  317. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +13 -7
  318. data/ext/ice/cpp/{include → src}/Ice/ObjectAdapterFactoryF.h +5 -1
  319. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +184 -58
  320. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +32 -26
  321. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +37 -6
  322. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +9 -32
  323. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +40 -18
  324. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +14 -5
  325. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +803 -365
  326. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1399 -0
  327. data/ext/ice/cpp/src/Ice/Plugin.cpp +45 -6
  328. data/ext/ice/cpp/src/Ice/PluginF.cpp +27 -5
  329. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +13 -13
  330. data/ext/ice/cpp/src/Ice/PluginManagerI.h +5 -6
  331. data/ext/ice/cpp/src/Ice/Process.cpp +256 -114
  332. data/ext/ice/cpp/src/Ice/ProcessF.cpp +29 -6
  333. data/ext/ice/cpp/src/Ice/Properties.cpp +38 -8
  334. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +340 -328
  335. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +81 -17
  336. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +29 -5
  337. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +29 -6
  338. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +25 -26
  339. data/ext/ice/cpp/src/Ice/PropertiesI.h +8 -11
  340. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +107 -50
  341. data/ext/ice/cpp/src/Ice/PropertyNames.h +4 -2
  342. data/ext/ice/cpp/src/Ice/Protocol.cpp +2 -2
  343. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +37 -2
  344. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +9 -20
  345. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  346. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +6 -1
  347. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +3 -1
  348. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  349. data/ext/ice/cpp/src/Ice/Proxy.cpp +690 -964
  350. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +23 -32
  351. data/ext/ice/cpp/src/Ice/ProxyFactory.h +16 -11
  352. data/ext/ice/cpp/src/Ice/Reference.cpp +75 -69
  353. data/ext/ice/cpp/src/Ice/Reference.h +27 -22
  354. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +18 -21
  355. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +12 -12
  356. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  357. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +18 -4
  358. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  359. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +672 -552
  360. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  361. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +5 -3
  362. data/ext/ice/cpp/src/Ice/RequestHandler.h +10 -13
  363. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +10 -6
  364. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +2 -2
  365. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +3 -6
  366. data/ext/ice/cpp/src/Ice/ResponseHandler.h +16 -7
  367. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +6 -12
  368. data/ext/ice/cpp/src/Ice/RetryQueue.h +7 -6
  369. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  370. data/ext/ice/cpp/src/Ice/Router.cpp +523 -474
  371. data/ext/ice/cpp/src/Ice/RouterF.cpp +29 -6
  372. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +91 -70
  373. data/ext/ice/cpp/src/Ice/RouterInfo.h +43 -32
  374. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  375. data/ext/ice/cpp/src/{IceUtil → Ice}/SHA1.cpp +21 -21
  376. data/ext/ice/cpp/src/Ice/Selector.cpp +989 -923
  377. data/ext/ice/cpp/src/Ice/Selector.h +100 -147
  378. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +37 -6
  379. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +27 -5
  380. data/ext/ice/cpp/src/Ice/ServantManager.cpp +9 -9
  381. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  382. data/ext/ice/cpp/src/Ice/SharedContext.h +2 -2
  383. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +20 -6
  384. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +2 -2
  385. data/ext/ice/cpp/src/Ice/SlicedData.cpp +72 -20
  386. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +173 -18
  387. data/ext/ice/cpp/src/Ice/StreamSocket.h +13 -4
  388. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +48 -17
  389. data/ext/ice/cpp/src/Ice/StringUtil.h +35 -0
  390. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +8 -4
  391. data/ext/ice/cpp/src/Ice/SysLoggerI.h +2 -3
  392. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +158 -32
  393. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +12 -5
  394. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -7
  395. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -2
  396. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +40 -32
  397. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +11 -8
  398. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +12 -27
  399. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -10
  400. data/ext/ice/cpp/src/{IceUtil → Ice}/Thread.cpp +24 -41
  401. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +175 -267
  402. data/ext/ice/cpp/src/Ice/ThreadPool.h +38 -43
  403. data/ext/ice/cpp/src/{IceUtil → Ice}/Timer.cpp +28 -21
  404. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +2 -2
  405. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  406. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +2 -2
  407. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +53 -31
  408. data/ext/ice/cpp/src/Ice/TraceUtil.h +13 -6
  409. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -2
  410. data/ext/ice/cpp/src/Ice/Transceiver.h +8 -7
  411. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  412. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +2 -8
  413. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -2
  414. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +92 -31
  415. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +12 -4
  416. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +150 -179
  417. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +15 -17
  418. data/ext/ice/cpp/src/Ice/Value.cpp +81 -0
  419. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +84 -0
  420. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +70 -0
  421. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +42 -0
  422. data/ext/ice/cpp/src/Ice/Version.cpp +24 -14
  423. data/ext/ice/cpp/src/Ice/VirtualShared.h +43 -0
  424. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +3 -9
  425. data/ext/ice/cpp/src/Ice/WSAcceptor.h +3 -7
  426. data/ext/ice/cpp/src/Ice/WSConnector.cpp +5 -11
  427. data/ext/ice/cpp/src/Ice/WSConnector.h +3 -6
  428. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +185 -80
  429. data/ext/ice/cpp/src/Ice/WSEndpoint.h +21 -31
  430. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +41 -37
  431. data/ext/ice/cpp/src/Ice/WSTransceiver.h +7 -21
  432. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +526 -264
  433. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +341 -455
  434. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +86 -26
  435. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +59 -23
  436. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +315 -61
  437. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +83 -36
  438. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +57 -59
  439. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +3 -3
  440. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +396 -159
  441. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +251 -355
  442. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +52 -0
  443. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +526 -131
  444. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +19 -165
  445. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +8 -17
  446. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +284 -0
  447. data/ext/ice/cpp/src/IceSSL/CertificateI.h +69 -0
  448. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +39 -11
  449. data/ext/ice/cpp/src/{Ice/ObjectFactoryF.cpp → IceSSL/ConnectionInfoF.cpp} +31 -9
  450. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +14 -56
  451. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +6 -13
  452. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +205 -197
  453. data/ext/ice/cpp/src/IceSSL/EndpointI.h +41 -33
  454. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +39 -10
  455. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -6
  456. data/ext/ice/cpp/src/IceSSL/Instance.h +7 -7
  457. data/ext/ice/cpp/src/IceSSL/InstanceF.h +11 -7
  458. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +588 -0
  459. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +117 -152
  460. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +64 -0
  461. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +32 -0
  462. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +132 -0
  463. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +400 -89
  464. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +36 -21
  465. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +291 -0
  466. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +63 -0
  467. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +71 -41
  468. data/ext/ice/cpp/src/IceSSL/PluginI.h +13 -18
  469. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +9 -54
  470. data/ext/ice/cpp/src/IceSSL/RFC2253.h +7 -7
  471. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +585 -0
  472. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +491 -75
  473. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +126 -0
  474. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +32 -0
  475. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +78 -0
  476. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +126 -169
  477. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +19 -22
  478. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +79 -74
  479. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +24 -187
  480. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +4 -19
  481. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +862 -0
  482. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +56 -214
  483. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +60 -0
  484. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +31 -0
  485. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +80 -0
  486. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +137 -144
  487. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +25 -28
  488. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +857 -0
  489. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +46 -0
  490. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +9 -13
  491. data/ext/ice/cpp/src/IceSSL/TrustManager.h +4 -4
  492. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +3 -3
  493. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +271 -0
  494. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +343 -0
  495. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +46 -0
  496. data/ext/ice/cpp/{include/Ice/ObjectFactoryManagerF.h → src/IceSSL/UWPEngineF.h} +13 -8
  497. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +94 -0
  498. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +388 -0
  499. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +76 -0
  500. data/ext/ice/cpp/src/IceSSL/Util.cpp +66 -1256
  501. data/ext/ice/cpp/src/IceSSL/Util.h +48 -137
  502. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +162 -0
  503. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +22 -22
  504. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +34 -26
  505. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +20 -31
  506. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +25 -116
  507. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  508. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  509. data/ext/ice/cpp/src/IceUtil/Options.cpp +23 -46
  510. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +7 -6
  511. data/ext/ice/cpp/src/IceUtil/Random.cpp +13 -13
  512. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +3 -9
  513. data/ext/ice/cpp/src/IceUtil/Shared.cpp +8 -3
  514. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +501 -264
  515. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +540 -235
  516. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +37 -74
  517. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  518. data/ext/ice/cpp/src/IceUtil/UUID.cpp +10 -10
  519. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +98 -97
  520. data/ext/ice/cpp/src/IceUtil/Unicode.h +21 -35
  521. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +838 -0
  522. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +815 -163
  523. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +76 -0
  524. data/ext/ice/cpp/src/Slice/Checksum.cpp +2 -2
  525. data/ext/ice/cpp/{include → src}/Slice/Checksum.h +2 -2
  526. data/ext/ice/cpp/src/Slice/FileTracker.cpp +25 -78
  527. data/ext/ice/cpp/{include → src}/Slice/FileTracker.h +9 -9
  528. data/ext/ice/cpp/src/Slice/Grammar.cpp +1994 -1943
  529. data/ext/ice/cpp/src/Slice/Grammar.h +44 -24
  530. data/ext/ice/cpp/src/Slice/GrammarUtil.h +14 -14
  531. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2658 -1927
  532. data/ext/ice/cpp/{include → src}/Slice/JavaUtil.h +178 -59
  533. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  534. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  535. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -1
  536. data/ext/ice/cpp/src/Slice/MD5I.h +1 -1
  537. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +12 -15
  538. data/ext/ice/cpp/{include → src}/Slice/PHPUtil.h +6 -15
  539. data/ext/ice/cpp/src/Slice/Parser.cpp +802 -307
  540. data/ext/ice/cpp/{include → src}/Slice/Parser.h +76 -84
  541. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +43 -21
  542. data/ext/ice/cpp/{include → src}/Slice/Preprocessor.h +7 -12
  543. data/ext/ice/cpp/src/Slice/Python.cpp +207 -86
  544. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +683 -679
  545. data/ext/ice/cpp/{include → src}/Slice/PythonUtil.h +19 -8
  546. data/ext/ice/cpp/src/Slice/Ruby.cpp +38 -34
  547. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +177 -445
  548. data/ext/ice/cpp/{include → src}/Slice/RubyUtil.h +6 -6
  549. data/ext/ice/cpp/src/Slice/Scanner.cpp +218 -306
  550. data/ext/ice/cpp/src/Slice/{Util.cpp → SliceUtil.cpp} +37 -64
  551. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +374 -0
  552. data/ext/ice/cpp/src/Slice/Util.h +54 -0
  553. data/ext/ice/mcpp/Makefile +5 -2
  554. data/ice.gemspec +2 -7
  555. data/lib/Glacier2.rb +1 -1
  556. data/lib/Glacier2/Metrics.rb +7 -46
  557. data/lib/Glacier2/PermissionsVerifier.rb +24 -95
  558. data/lib/Glacier2/PermissionsVerifierF.rb +3 -3
  559. data/lib/Glacier2/Router.rb +32 -74
  560. data/lib/Glacier2/RouterF.rb +3 -3
  561. data/lib/Glacier2/SSLInfo.rb +4 -7
  562. data/lib/Glacier2/Session.rb +88 -307
  563. data/lib/Ice.rb +83 -52
  564. data/lib/Ice/BuiltinSequences.rb +4 -4
  565. data/lib/Ice/Communicator.rb +56 -58
  566. data/lib/Ice/CommunicatorF.rb +3 -3
  567. data/lib/Ice/Connection.rb +153 -162
  568. data/lib/Ice/ConnectionF.rb +3 -3
  569. data/lib/Ice/Current.rb +4 -11
  570. data/lib/Ice/Endpoint.rb +57 -133
  571. data/lib/Ice/EndpointF.rb +3 -3
  572. data/lib/Ice/EndpointTypes.rb +3 -7
  573. data/lib/Ice/FacetMap.rb +4 -4
  574. data/lib/Ice/Identity.rb +5 -8
  575. data/lib/Ice/ImplicitContext.rb +5 -34
  576. data/lib/Ice/ImplicitContextF.rb +3 -3
  577. data/lib/Ice/Instrumentation.rb +23 -275
  578. data/lib/Ice/InstrumentationF.rb +3 -3
  579. data/lib/Ice/LocalException.rb +95 -141
  580. data/lib/Ice/Locator.rb +51 -165
  581. data/lib/Ice/LocatorF.rb +3 -3
  582. data/lib/Ice/Logger.rb +5 -34
  583. data/lib/Ice/LoggerF.rb +3 -3
  584. data/lib/Ice/Metrics.rb +61 -416
  585. data/lib/Ice/ObjectAdapter.rb +34 -0
  586. data/lib/Ice/ObjectAdapterF.rb +3 -3
  587. data/lib/Ice/ObjectFactory.rb +5 -30
  588. data/lib/Ice/Plugin.rb +7 -60
  589. data/lib/Ice/PluginF.rb +3 -3
  590. data/lib/Ice/Process.rb +16 -52
  591. data/lib/Ice/ProcessF.rb +3 -3
  592. data/lib/Ice/Properties.rb +5 -41
  593. data/lib/Ice/PropertiesAdmin.rb +19 -56
  594. data/lib/Ice/PropertiesF.rb +3 -3
  595. data/lib/Ice/RemoteLogger.rb +34 -115
  596. data/lib/Ice/Router.rb +29 -101
  597. data/lib/Ice/RouterF.rb +3 -3
  598. data/lib/Ice/ServantLocator.rb +31 -0
  599. data/lib/Ice/{ObjectFactoryF.rb → ServantLocatorF.rb} +6 -6
  600. data/lib/Ice/SliceChecksumDict.rb +3 -3
  601. data/lib/Ice/ValueFactory.rb +33 -0
  602. data/lib/Ice/Version.rb +5 -11
  603. data/lib/IceBox.rb +1 -1
  604. data/lib/IceBox/IceBox.rb +44 -148
  605. data/lib/IceGrid.rb +1 -4
  606. data/lib/IceGrid/Admin.rb +551 -427
  607. data/lib/IceGrid/Descriptor.rb +62 -529
  608. data/lib/IceGrid/Exception.rb +24 -45
  609. data/lib/IceGrid/FileParser.rb +14 -50
  610. data/lib/IceGrid/PluginFacade.rb +40 -0
  611. data/lib/IceGrid/Registry.rb +151 -58
  612. data/lib/IceGrid/Session.rb +25 -64
  613. data/lib/IceGrid/UserAccountMapper.rb +14 -50
  614. data/lib/IcePatch2.rb +1 -1
  615. data/lib/IcePatch2/FileInfo.rb +5 -11
  616. data/lib/IcePatch2/FileServer.rb +33 -76
  617. data/lib/IceStorm.rb +1 -1
  618. data/lib/IceStorm/IceStorm.rb +79 -206
  619. data/lib/IceStorm/Metrics.rb +11 -89
  620. data/slice/Glacier2/Metrics.ice +8 -4
  621. data/slice/Glacier2/PermissionsVerifier.ice +10 -7
  622. data/slice/Glacier2/PermissionsVerifierF.ice +7 -4
  623. data/slice/Glacier2/Router.ice +10 -8
  624. data/slice/Glacier2/RouterF.ice +7 -4
  625. data/slice/Glacier2/SSLInfo.ice +8 -5
  626. data/slice/Glacier2/Session.ice +15 -13
  627. data/slice/Ice/BuiltinSequences.ice +7 -4
  628. data/slice/Ice/Communicator.ice +141 -66
  629. data/slice/Ice/CommunicatorF.ice +7 -4
  630. data/slice/Ice/Connection.ice +183 -86
  631. data/slice/Ice/ConnectionF.ice +7 -4
  632. data/slice/Ice/Current.ice +13 -9
  633. data/slice/Ice/Endpoint.ice +63 -14
  634. data/slice/Ice/EndpointF.ice +7 -4
  635. data/slice/Ice/EndpointTypes.ice +8 -6
  636. data/slice/Ice/FacetMap.ice +7 -4
  637. data/slice/Ice/Identity.ice +13 -5
  638. data/slice/Ice/ImplicitContext.ice +20 -18
  639. data/slice/Ice/ImplicitContextF.ice +7 -4
  640. data/slice/Ice/Instrumentation.ice +20 -19
  641. data/slice/Ice/InstrumentationF.ice +8 -5
  642. data/slice/Ice/LocalException.ice +87 -87
  643. data/slice/Ice/Locator.ice +19 -18
  644. data/slice/Ice/LocatorF.ice +7 -4
  645. data/slice/Ice/Logger.ice +9 -7
  646. data/slice/Ice/LoggerF.ice +7 -4
  647. data/slice/Ice/Metrics.ice +18 -14
  648. data/slice/Ice/ObjectAdapter.ice +30 -13
  649. data/slice/Ice/ObjectAdapterF.ice +7 -4
  650. data/slice/Ice/ObjectFactory.ice +15 -12
  651. data/slice/Ice/Plugin.ice +9 -6
  652. data/slice/Ice/PluginF.ice +8 -5
  653. data/slice/Ice/Process.ice +9 -6
  654. data/slice/Ice/ProcessF.ice +7 -4
  655. data/slice/Ice/Properties.ice +15 -12
  656. data/slice/Ice/PropertiesAdmin.ice +9 -5
  657. data/slice/Ice/PropertiesF.ice +7 -4
  658. data/slice/Ice/RemoteLogger.ice +33 -24
  659. data/slice/Ice/Router.ice +16 -7
  660. data/slice/Ice/RouterF.ice +7 -4
  661. data/slice/Ice/ServantLocator.ice +13 -10
  662. data/slice/Ice/ServantLocatorF.ice +7 -4
  663. data/slice/Ice/SliceChecksumDict.ice +7 -4
  664. data/slice/Ice/ValueFactory.ice +127 -0
  665. data/slice/Ice/Version.ice +9 -5
  666. data/slice/IceBT/ConnectionInfo.ice +53 -0
  667. data/slice/IceBT/EndpointInfo.ice +51 -0
  668. data/slice/IceBT/Types.ice +39 -0
  669. data/slice/IceBox/IceBox.ice +20 -21
  670. data/slice/IceDiscovery/IceDiscovery.ice +9 -5
  671. data/slice/IceGrid/Admin.ice +390 -30
  672. data/slice/IceGrid/Descriptor.ice +37 -29
  673. data/slice/IceGrid/Exception.ice +33 -27
  674. data/slice/IceGrid/FileParser.ice +9 -6
  675. data/slice/IceGrid/PluginFacade.ice +11 -9
  676. data/slice/IceGrid/Registry.ice +139 -16
  677. data/slice/IceGrid/Session.ice +10 -8
  678. data/slice/IceGrid/UserAccountMapper.ice +9 -6
  679. data/slice/IceIAP/ConnectionInfo.ice +70 -0
  680. data/slice/IceIAP/EndpointInfo.ice +64 -0
  681. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +9 -7
  682. data/slice/IcePatch2/FileInfo.ice +9 -8
  683. data/slice/IcePatch2/FileServer.ice +17 -13
  684. data/slice/IceSSL/ConnectionInfo.ice +14 -17
  685. data/slice/IceSSL/ConnectionInfoF.ice +24 -0
  686. data/slice/IceSSL/EndpointInfo.ice +9 -30
  687. data/slice/IceStorm/IceStorm.ice +22 -18
  688. data/slice/IceStorm/Metrics.ice +9 -5
  689. metadata +154 -120
  690. data/ext/ObjectFactory.cpp +0 -140
  691. data/ext/ObjectFactory.h +0 -50
  692. data/ext/ice/cpp/include/Ice/BasicStream.h +0 -1335
  693. data/ext/ice/cpp/include/Ice/Communicator.h +0 -200
  694. data/ext/ice/cpp/include/Ice/Connection.h +0 -497
  695. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +0 -62
  696. data/ext/ice/cpp/include/Ice/Endpoint.h +0 -341
  697. data/ext/ice/cpp/include/Ice/Identity.h +0 -168
  698. data/ext/ice/cpp/include/Ice/Instrumentation.h +0 -365
  699. data/ext/ice/cpp/include/Ice/LocalException.h +0 -1030
  700. data/ext/ice/cpp/include/Ice/Locator.h +0 -2193
  701. data/ext/ice/cpp/include/Ice/Metrics.h +0 -2974
  702. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +0 -168
  703. data/ext/ice/cpp/include/Ice/ObjectFactory.h +0 -92
  704. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +0 -66
  705. data/ext/ice/cpp/include/Ice/Outgoing.h +0 -225
  706. data/ext/ice/cpp/include/Ice/Plugin.h +0 -125
  707. data/ext/ice/cpp/include/Ice/Process.h +0 -574
  708. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +0 -830
  709. data/ext/ice/cpp/include/Ice/RemoteLogger.h +0 -1500
  710. data/ext/ice/cpp/include/Ice/Router.h +0 -1159
  711. data/ext/ice/cpp/include/Ice/Stream.h +0 -447
  712. data/ext/ice/cpp/include/Ice/StreamF.h +0 -30
  713. data/ext/ice/cpp/include/Ice/Version.h +0 -262
  714. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +0 -158
  715. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +0 -142
  716. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +0 -119
  717. data/ext/ice/cpp/include/IceUtil/Cache.h +0 -362
  718. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +0 -65
  719. data/ext/ice/cpp/include/Slice/CsUtil.h +0 -92
  720. data/ext/ice/cpp/include/Slice/DotNetNames.h +0 -34
  721. data/ext/ice/cpp/include/Slice/ObjCUtil.h +0 -127
  722. data/ext/ice/cpp/include/Slice/Util.h +0 -56
  723. data/ext/ice/cpp/src/Ice/BasicStream.cpp +0 -3428
  724. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +0 -62
  725. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +0 -139
  726. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +0 -43
  727. data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -694
  728. data/ext/ice/cpp/src/Ice/Stream.cpp +0 -53
  729. data/ext/ice/cpp/src/Ice/StreamI.cpp +0 -832
  730. data/ext/ice/cpp/src/Ice/StreamI.h +0 -198
  731. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +0 -1336
  732. data/ext/ice/cpp/src/IceUtil/Exception.cpp +0 -792
  733. data/ext/ice/cpp/src/IceUtil/FileUtil.h +0 -185
  734. data/ext/ice/cpp/src/Slice/CsUtil.cpp +0 -2660
  735. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +0 -146
  736. data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +0 -1310
  737. data/lib/IceGrid/Locator.rb +0 -106
  738. data/lib/IceGrid/Observer.rb +0 -572
  739. data/lib/IceGrid/Query.rb +0 -169
  740. data/slice/Freeze/BackgroundSaveEvictor.ice +0 -111
  741. data/slice/Freeze/CatalogData.ice +0 -49
  742. data/slice/Freeze/Connection.ice +0 -121
  743. data/slice/Freeze/DB.ice +0 -37
  744. data/slice/Freeze/Evictor.ice +0 -346
  745. data/slice/Freeze/EvictorF.ice +0 -22
  746. data/slice/Freeze/EvictorStorage.ice +0 -72
  747. data/slice/Freeze/Exception.ice +0 -100
  748. data/slice/Freeze/Transaction.ice +0 -58
  749. data/slice/Freeze/TransactionalEvictor.ice +0 -50
  750. data/slice/IceGrid/Locator.ice +0 -57
  751. data/slice/IceGrid/Observer.ice +0 -395
  752. data/slice/IceGrid/Query.ice +0 -131
@@ -0,0 +1,104 @@
1
+
2
+ /*-------------------------------------------------------------*/
3
+ /*--- Table for doing CRCs ---*/
4
+ /*--- crctable.c ---*/
5
+ /*-------------------------------------------------------------*/
6
+
7
+ /* ------------------------------------------------------------------
8
+ This file is part of bzip2/libbzip2, a program and library for
9
+ lossless, block-sorting data compression.
10
+
11
+ bzip2/libbzip2 version 1.0.6 of 6 September 2010
12
+ Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
13
+
14
+ Please read the WARNING, DISCLAIMER and PATENTS sections in the
15
+ README file.
16
+
17
+ This program is released under the terms of the license contained
18
+ in the file LICENSE.
19
+ ------------------------------------------------------------------ */
20
+
21
+
22
+ #include "bzlib_private.h"
23
+
24
+ /*--
25
+ I think this is an implementation of the AUTODIN-II,
26
+ Ethernet & FDDI 32-bit CRC standard. Vaguely derived
27
+ from code by Rob Warnock, in Section 51 of the
28
+ comp.compression FAQ.
29
+ --*/
30
+
31
+ UInt32 BZ2_crc32Table[256] = {
32
+
33
+ /*-- Ugly, innit? --*/
34
+
35
+ 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
36
+ 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
37
+ 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
38
+ 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
39
+ 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
40
+ 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
41
+ 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
42
+ 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
43
+ 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
44
+ 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
45
+ 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
46
+ 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
47
+ 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
48
+ 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
49
+ 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
50
+ 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
51
+ 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
52
+ 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
53
+ 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
54
+ 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
55
+ 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
56
+ 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
57
+ 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
58
+ 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
59
+ 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
60
+ 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
61
+ 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
62
+ 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
63
+ 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
64
+ 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
65
+ 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
66
+ 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
67
+ 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
68
+ 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
69
+ 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
70
+ 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
71
+ 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
72
+ 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
73
+ 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
74
+ 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
75
+ 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
76
+ 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
77
+ 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
78
+ 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
79
+ 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
80
+ 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
81
+ 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
82
+ 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
83
+ 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
84
+ 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
85
+ 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
86
+ 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
87
+ 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
88
+ 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
89
+ 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
90
+ 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
91
+ 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
92
+ 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
93
+ 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
94
+ 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
95
+ 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
96
+ 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
97
+ 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
98
+ 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
99
+ };
100
+
101
+
102
+ /*-------------------------------------------------------------*/
103
+ /*--- end crctable.c ---*/
104
+ /*-------------------------------------------------------------*/
@@ -0,0 +1,646 @@
1
+
2
+ /*-------------------------------------------------------------*/
3
+ /*--- Decompression machinery ---*/
4
+ /*--- decompress.c ---*/
5
+ /*-------------------------------------------------------------*/
6
+
7
+ /* ------------------------------------------------------------------
8
+ This file is part of bzip2/libbzip2, a program and library for
9
+ lossless, block-sorting data compression.
10
+
11
+ bzip2/libbzip2 version 1.0.6 of 6 September 2010
12
+ Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
13
+
14
+ Please read the WARNING, DISCLAIMER and PATENTS sections in the
15
+ README file.
16
+
17
+ This program is released under the terms of the license contained
18
+ in the file LICENSE.
19
+ ------------------------------------------------------------------ */
20
+
21
+
22
+ #include "bzlib_private.h"
23
+
24
+
25
+ /*---------------------------------------------------*/
26
+ static
27
+ void makeMaps_d ( DState* s )
28
+ {
29
+ Int32 i;
30
+ s->nInUse = 0;
31
+ for (i = 0; i < 256; i++)
32
+ if (s->inUse[i]) {
33
+ s->seqToUnseq[s->nInUse] = i;
34
+ s->nInUse++;
35
+ }
36
+ }
37
+
38
+
39
+ /*---------------------------------------------------*/
40
+ #define RETURN(rrr) \
41
+ { retVal = rrr; goto save_state_and_return; };
42
+
43
+ #define GET_BITS(lll,vvv,nnn) \
44
+ case lll: s->state = lll; \
45
+ while (True) { \
46
+ if (s->bsLive >= nnn) { \
47
+ UInt32 v; \
48
+ v = (s->bsBuff >> \
49
+ (s->bsLive-nnn)) & ((1 << nnn)-1); \
50
+ s->bsLive -= nnn; \
51
+ vvv = v; \
52
+ break; \
53
+ } \
54
+ if (s->strm->avail_in == 0) RETURN(BZ_OK); \
55
+ s->bsBuff \
56
+ = (s->bsBuff << 8) | \
57
+ ((UInt32) \
58
+ (*((UChar*)(s->strm->next_in)))); \
59
+ s->bsLive += 8; \
60
+ s->strm->next_in++; \
61
+ s->strm->avail_in--; \
62
+ s->strm->total_in_lo32++; \
63
+ if (s->strm->total_in_lo32 == 0) \
64
+ s->strm->total_in_hi32++; \
65
+ }
66
+
67
+ #define GET_UCHAR(lll,uuu) \
68
+ GET_BITS(lll,uuu,8)
69
+
70
+ #define GET_BIT(lll,uuu) \
71
+ GET_BITS(lll,uuu,1)
72
+
73
+ /*---------------------------------------------------*/
74
+ #define GET_MTF_VAL(label1,label2,lval) \
75
+ { \
76
+ if (groupPos == 0) { \
77
+ groupNo++; \
78
+ if (groupNo >= nSelectors) \
79
+ RETURN(BZ_DATA_ERROR); \
80
+ groupPos = BZ_G_SIZE; \
81
+ gSel = s->selector[groupNo]; \
82
+ gMinlen = s->minLens[gSel]; \
83
+ gLimit = &(s->limit[gSel][0]); \
84
+ gPerm = &(s->perm[gSel][0]); \
85
+ gBase = &(s->base[gSel][0]); \
86
+ } \
87
+ groupPos--; \
88
+ zn = gMinlen; \
89
+ GET_BITS(label1, zvec, zn); \
90
+ while (1) { \
91
+ if (zn > 20 /* the longest code */) \
92
+ RETURN(BZ_DATA_ERROR); \
93
+ if (zvec <= gLimit[zn]) break; \
94
+ zn++; \
95
+ GET_BIT(label2, zj); \
96
+ zvec = (zvec << 1) | zj; \
97
+ }; \
98
+ if (zvec - gBase[zn] < 0 \
99
+ || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \
100
+ RETURN(BZ_DATA_ERROR); \
101
+ lval = gPerm[zvec - gBase[zn]]; \
102
+ }
103
+
104
+
105
+ /*---------------------------------------------------*/
106
+ Int32 BZ2_decompress ( DState* s )
107
+ {
108
+ UChar uc;
109
+ Int32 retVal;
110
+ Int32 minLen, maxLen;
111
+ bz_stream* strm = s->strm;
112
+
113
+ /* stuff that needs to be saved/restored */
114
+ Int32 i;
115
+ Int32 j;
116
+ Int32 t;
117
+ Int32 alphaSize;
118
+ Int32 nGroups;
119
+ Int32 nSelectors;
120
+ Int32 EOB;
121
+ Int32 groupNo;
122
+ Int32 groupPos;
123
+ Int32 nextSym;
124
+ Int32 nblockMAX;
125
+ Int32 nblock;
126
+ Int32 es;
127
+ Int32 N;
128
+ Int32 curr;
129
+ Int32 zt;
130
+ Int32 zn;
131
+ Int32 zvec;
132
+ Int32 zj;
133
+ Int32 gSel;
134
+ Int32 gMinlen;
135
+ Int32* gLimit;
136
+ Int32* gBase;
137
+ Int32* gPerm;
138
+
139
+ if (s->state == BZ_X_MAGIC_1) {
140
+ /*initialise the save area*/
141
+ s->save_i = 0;
142
+ s->save_j = 0;
143
+ s->save_t = 0;
144
+ s->save_alphaSize = 0;
145
+ s->save_nGroups = 0;
146
+ s->save_nSelectors = 0;
147
+ s->save_EOB = 0;
148
+ s->save_groupNo = 0;
149
+ s->save_groupPos = 0;
150
+ s->save_nextSym = 0;
151
+ s->save_nblockMAX = 0;
152
+ s->save_nblock = 0;
153
+ s->save_es = 0;
154
+ s->save_N = 0;
155
+ s->save_curr = 0;
156
+ s->save_zt = 0;
157
+ s->save_zn = 0;
158
+ s->save_zvec = 0;
159
+ s->save_zj = 0;
160
+ s->save_gSel = 0;
161
+ s->save_gMinlen = 0;
162
+ s->save_gLimit = NULL;
163
+ s->save_gBase = NULL;
164
+ s->save_gPerm = NULL;
165
+ }
166
+
167
+ /*restore from the save area*/
168
+ i = s->save_i;
169
+ j = s->save_j;
170
+ t = s->save_t;
171
+ alphaSize = s->save_alphaSize;
172
+ nGroups = s->save_nGroups;
173
+ nSelectors = s->save_nSelectors;
174
+ EOB = s->save_EOB;
175
+ groupNo = s->save_groupNo;
176
+ groupPos = s->save_groupPos;
177
+ nextSym = s->save_nextSym;
178
+ nblockMAX = s->save_nblockMAX;
179
+ nblock = s->save_nblock;
180
+ es = s->save_es;
181
+ N = s->save_N;
182
+ curr = s->save_curr;
183
+ zt = s->save_zt;
184
+ zn = s->save_zn;
185
+ zvec = s->save_zvec;
186
+ zj = s->save_zj;
187
+ gSel = s->save_gSel;
188
+ gMinlen = s->save_gMinlen;
189
+ gLimit = s->save_gLimit;
190
+ gBase = s->save_gBase;
191
+ gPerm = s->save_gPerm;
192
+
193
+ retVal = BZ_OK;
194
+
195
+ switch (s->state) {
196
+
197
+ GET_UCHAR(BZ_X_MAGIC_1, uc);
198
+ if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
199
+
200
+ GET_UCHAR(BZ_X_MAGIC_2, uc);
201
+ if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
202
+
203
+ GET_UCHAR(BZ_X_MAGIC_3, uc)
204
+ if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
205
+
206
+ GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
207
+ if (s->blockSize100k < (BZ_HDR_0 + 1) ||
208
+ s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC);
209
+ s->blockSize100k -= BZ_HDR_0;
210
+
211
+ if (s->smallDecompress) {
212
+ s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
213
+ s->ll4 = BZALLOC(
214
+ ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
215
+ );
216
+ if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
217
+ } else {
218
+ s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
219
+ if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
220
+ }
221
+
222
+ GET_UCHAR(BZ_X_BLKHDR_1, uc);
223
+
224
+ if (uc == 0x17) goto endhdr_2;
225
+ if (uc != 0x31) RETURN(BZ_DATA_ERROR);
226
+ GET_UCHAR(BZ_X_BLKHDR_2, uc);
227
+ if (uc != 0x41) RETURN(BZ_DATA_ERROR);
228
+ GET_UCHAR(BZ_X_BLKHDR_3, uc);
229
+ if (uc != 0x59) RETURN(BZ_DATA_ERROR);
230
+ GET_UCHAR(BZ_X_BLKHDR_4, uc);
231
+ if (uc != 0x26) RETURN(BZ_DATA_ERROR);
232
+ GET_UCHAR(BZ_X_BLKHDR_5, uc);
233
+ if (uc != 0x53) RETURN(BZ_DATA_ERROR);
234
+ GET_UCHAR(BZ_X_BLKHDR_6, uc);
235
+ if (uc != 0x59) RETURN(BZ_DATA_ERROR);
236
+
237
+ s->currBlockNo++;
238
+ if (s->verbosity >= 2)
239
+ VPrintf1 ( "\n [%d: huff+mtf ", s->currBlockNo );
240
+
241
+ s->storedBlockCRC = 0;
242
+ GET_UCHAR(BZ_X_BCRC_1, uc);
243
+ s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
244
+ GET_UCHAR(BZ_X_BCRC_2, uc);
245
+ s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
246
+ GET_UCHAR(BZ_X_BCRC_3, uc);
247
+ s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
248
+ GET_UCHAR(BZ_X_BCRC_4, uc);
249
+ s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
250
+
251
+ GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
252
+
253
+ s->origPtr = 0;
254
+ GET_UCHAR(BZ_X_ORIGPTR_1, uc);
255
+ s->origPtr = (s->origPtr << 8) | ((Int32)uc);
256
+ GET_UCHAR(BZ_X_ORIGPTR_2, uc);
257
+ s->origPtr = (s->origPtr << 8) | ((Int32)uc);
258
+ GET_UCHAR(BZ_X_ORIGPTR_3, uc);
259
+ s->origPtr = (s->origPtr << 8) | ((Int32)uc);
260
+
261
+ if (s->origPtr < 0)
262
+ RETURN(BZ_DATA_ERROR);
263
+ if (s->origPtr > 10 + 100000*s->blockSize100k)
264
+ RETURN(BZ_DATA_ERROR);
265
+
266
+ /*--- Receive the mapping table ---*/
267
+ for (i = 0; i < 16; i++) {
268
+ GET_BIT(BZ_X_MAPPING_1, uc);
269
+ if (uc == 1)
270
+ s->inUse16[i] = True; else
271
+ s->inUse16[i] = False;
272
+ }
273
+
274
+ for (i = 0; i < 256; i++) s->inUse[i] = False;
275
+
276
+ for (i = 0; i < 16; i++)
277
+ if (s->inUse16[i])
278
+ for (j = 0; j < 16; j++) {
279
+ GET_BIT(BZ_X_MAPPING_2, uc);
280
+ if (uc == 1) s->inUse[i * 16 + j] = True;
281
+ }
282
+ makeMaps_d ( s );
283
+ if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
284
+ alphaSize = s->nInUse+2;
285
+
286
+ /*--- Now the selectors ---*/
287
+ GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
288
+ if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
289
+ GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
290
+ if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
291
+ for (i = 0; i < nSelectors; i++) {
292
+ j = 0;
293
+ while (True) {
294
+ GET_BIT(BZ_X_SELECTOR_3, uc);
295
+ if (uc == 0) break;
296
+ j++;
297
+ if (j >= nGroups) RETURN(BZ_DATA_ERROR);
298
+ }
299
+ s->selectorMtf[i] = j;
300
+ }
301
+
302
+ /*--- Undo the MTF values for the selectors. ---*/
303
+ {
304
+ UChar pos[BZ_N_GROUPS], tmp, v;
305
+ for (v = 0; v < nGroups; v++) pos[v] = v;
306
+
307
+ for (i = 0; i < nSelectors; i++) {
308
+ v = s->selectorMtf[i];
309
+ tmp = pos[v];
310
+ while (v > 0) { pos[v] = pos[v-1]; v--; }
311
+ pos[0] = tmp;
312
+ s->selector[i] = tmp;
313
+ }
314
+ }
315
+
316
+ /*--- Now the coding tables ---*/
317
+ for (t = 0; t < nGroups; t++) {
318
+ GET_BITS(BZ_X_CODING_1, curr, 5);
319
+ for (i = 0; i < alphaSize; i++) {
320
+ while (True) {
321
+ if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
322
+ GET_BIT(BZ_X_CODING_2, uc);
323
+ if (uc == 0) break;
324
+ GET_BIT(BZ_X_CODING_3, uc);
325
+ if (uc == 0) curr++; else curr--;
326
+ }
327
+ s->len[t][i] = curr;
328
+ }
329
+ }
330
+
331
+ /*--- Create the Huffman decoding tables ---*/
332
+ for (t = 0; t < nGroups; t++) {
333
+ minLen = 32;
334
+ maxLen = 0;
335
+ for (i = 0; i < alphaSize; i++) {
336
+ if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
337
+ if (s->len[t][i] < minLen) minLen = s->len[t][i];
338
+ }
339
+ BZ2_hbCreateDecodeTables (
340
+ &(s->limit[t][0]),
341
+ &(s->base[t][0]),
342
+ &(s->perm[t][0]),
343
+ &(s->len[t][0]),
344
+ minLen, maxLen, alphaSize
345
+ );
346
+ s->minLens[t] = minLen;
347
+ }
348
+
349
+ /*--- Now the MTF values ---*/
350
+
351
+ EOB = s->nInUse+1;
352
+ nblockMAX = 100000 * s->blockSize100k;
353
+ groupNo = -1;
354
+ groupPos = 0;
355
+
356
+ for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
357
+
358
+ /*-- MTF init --*/
359
+ {
360
+ Int32 ii, jj, kk;
361
+ kk = MTFA_SIZE-1;
362
+ for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
363
+ for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
364
+ s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
365
+ kk--;
366
+ }
367
+ s->mtfbase[ii] = kk + 1;
368
+ }
369
+ }
370
+ /*-- end MTF init --*/
371
+
372
+ nblock = 0;
373
+ GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
374
+
375
+ while (True) {
376
+
377
+ if (nextSym == EOB) break;
378
+
379
+ if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
380
+
381
+ es = -1;
382
+ N = 1;
383
+ do {
384
+ /* Check that N doesn't get too big, so that es doesn't
385
+ go negative. The maximum value that can be
386
+ RUNA/RUNB encoded is equal to the block size (post
387
+ the initial RLE), viz, 900k, so bounding N at 2
388
+ million should guard against overflow without
389
+ rejecting any legitimate inputs. */
390
+ if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
391
+ if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
392
+ if (nextSym == BZ_RUNB) es = es + (1+1) * N;
393
+ N = N * 2;
394
+ GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
395
+ }
396
+ while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
397
+
398
+ es++;
399
+ uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
400
+ s->unzftab[uc] += es;
401
+
402
+ if (s->smallDecompress)
403
+ while (es > 0) {
404
+ if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
405
+ s->ll16[nblock] = (UInt16)uc;
406
+ nblock++;
407
+ es--;
408
+ }
409
+ else
410
+ while (es > 0) {
411
+ if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
412
+ s->tt[nblock] = (UInt32)uc;
413
+ nblock++;
414
+ es--;
415
+ };
416
+
417
+ continue;
418
+
419
+ } else {
420
+
421
+ if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
422
+
423
+ /*-- uc = MTF ( nextSym-1 ) --*/
424
+ {
425
+ Int32 ii, jj, kk, pp, lno, off;
426
+ UInt32 nn;
427
+ nn = (UInt32)(nextSym - 1);
428
+
429
+ if (nn < MTFL_SIZE) {
430
+ /* avoid general-case expense */
431
+ pp = s->mtfbase[0];
432
+ uc = s->mtfa[pp+nn];
433
+ while (nn > 3) {
434
+ Int32 z = pp+nn;
435
+ s->mtfa[(z) ] = s->mtfa[(z)-1];
436
+ s->mtfa[(z)-1] = s->mtfa[(z)-2];
437
+ s->mtfa[(z)-2] = s->mtfa[(z)-3];
438
+ s->mtfa[(z)-3] = s->mtfa[(z)-4];
439
+ nn -= 4;
440
+ }
441
+ while (nn > 0) {
442
+ s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--;
443
+ };
444
+ s->mtfa[pp] = uc;
445
+ } else {
446
+ /* general case */
447
+ lno = nn / MTFL_SIZE;
448
+ off = nn % MTFL_SIZE;
449
+ pp = s->mtfbase[lno] + off;
450
+ uc = s->mtfa[pp];
451
+ while (pp > s->mtfbase[lno]) {
452
+ s->mtfa[pp] = s->mtfa[pp-1]; pp--;
453
+ };
454
+ s->mtfbase[lno]++;
455
+ while (lno > 0) {
456
+ s->mtfbase[lno]--;
457
+ s->mtfa[s->mtfbase[lno]]
458
+ = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
459
+ lno--;
460
+ }
461
+ s->mtfbase[0]--;
462
+ s->mtfa[s->mtfbase[0]] = uc;
463
+ if (s->mtfbase[0] == 0) {
464
+ kk = MTFA_SIZE-1;
465
+ for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
466
+ for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
467
+ s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
468
+ kk--;
469
+ }
470
+ s->mtfbase[ii] = kk + 1;
471
+ }
472
+ }
473
+ }
474
+ }
475
+ /*-- end uc = MTF ( nextSym-1 ) --*/
476
+
477
+ s->unzftab[s->seqToUnseq[uc]]++;
478
+ if (s->smallDecompress)
479
+ s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
480
+ s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]);
481
+ nblock++;
482
+
483
+ GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
484
+ continue;
485
+ }
486
+ }
487
+
488
+ /* Now we know what nblock is, we can do a better sanity
489
+ check on s->origPtr.
490
+ */
491
+ if (s->origPtr < 0 || s->origPtr >= nblock)
492
+ RETURN(BZ_DATA_ERROR);
493
+
494
+ /*-- Set up cftab to facilitate generation of T^(-1) --*/
495
+ /* Check: unzftab entries in range. */
496
+ for (i = 0; i <= 255; i++) {
497
+ if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
498
+ RETURN(BZ_DATA_ERROR);
499
+ }
500
+ /* Actually generate cftab. */
501
+ s->cftab[0] = 0;
502
+ for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
503
+ for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
504
+ /* Check: cftab entries in range. */
505
+ for (i = 0; i <= 256; i++) {
506
+ if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
507
+ /* s->cftab[i] can legitimately be == nblock */
508
+ RETURN(BZ_DATA_ERROR);
509
+ }
510
+ }
511
+ /* Check: cftab entries non-descending. */
512
+ for (i = 1; i <= 256; i++) {
513
+ if (s->cftab[i-1] > s->cftab[i]) {
514
+ RETURN(BZ_DATA_ERROR);
515
+ }
516
+ }
517
+
518
+ s->state_out_len = 0;
519
+ s->state_out_ch = 0;
520
+ BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
521
+ s->state = BZ_X_OUTPUT;
522
+ if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
523
+
524
+ if (s->smallDecompress) {
525
+
526
+ /*-- Make a copy of cftab, used in generation of T --*/
527
+ for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
528
+
529
+ /*-- compute the T vector --*/
530
+ for (i = 0; i < nblock; i++) {
531
+ uc = (UChar)(s->ll16[i]);
532
+ SET_LL(i, s->cftabCopy[uc]);
533
+ s->cftabCopy[uc]++;
534
+ }
535
+
536
+ /*-- Compute T^(-1) by pointer reversal on T --*/
537
+ i = s->origPtr;
538
+ j = GET_LL(i);
539
+ do {
540
+ Int32 tmp = GET_LL(j);
541
+ SET_LL(j, i);
542
+ i = j;
543
+ j = tmp;
544
+ }
545
+ while (i != s->origPtr);
546
+
547
+ s->tPos = s->origPtr;
548
+ s->nblock_used = 0;
549
+ if (s->blockRandomised) {
550
+ BZ_RAND_INIT_MASK;
551
+ BZ_GET_SMALL(s->k0); s->nblock_used++;
552
+ BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
553
+ } else {
554
+ BZ_GET_SMALL(s->k0); s->nblock_used++;
555
+ }
556
+
557
+ } else {
558
+
559
+ /*-- compute the T^(-1) vector --*/
560
+ for (i = 0; i < nblock; i++) {
561
+ uc = (UChar)(s->tt[i] & 0xff);
562
+ s->tt[s->cftab[uc]] |= (i << 8);
563
+ s->cftab[uc]++;
564
+ }
565
+
566
+ s->tPos = s->tt[s->origPtr] >> 8;
567
+ s->nblock_used = 0;
568
+ if (s->blockRandomised) {
569
+ BZ_RAND_INIT_MASK;
570
+ BZ_GET_FAST(s->k0); s->nblock_used++;
571
+ BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
572
+ } else {
573
+ BZ_GET_FAST(s->k0); s->nblock_used++;
574
+ }
575
+
576
+ }
577
+
578
+ RETURN(BZ_OK);
579
+
580
+
581
+
582
+ endhdr_2:
583
+
584
+ GET_UCHAR(BZ_X_ENDHDR_2, uc);
585
+ if (uc != 0x72) RETURN(BZ_DATA_ERROR);
586
+ GET_UCHAR(BZ_X_ENDHDR_3, uc);
587
+ if (uc != 0x45) RETURN(BZ_DATA_ERROR);
588
+ GET_UCHAR(BZ_X_ENDHDR_4, uc);
589
+ if (uc != 0x38) RETURN(BZ_DATA_ERROR);
590
+ GET_UCHAR(BZ_X_ENDHDR_5, uc);
591
+ if (uc != 0x50) RETURN(BZ_DATA_ERROR);
592
+ GET_UCHAR(BZ_X_ENDHDR_6, uc);
593
+ if (uc != 0x90) RETURN(BZ_DATA_ERROR);
594
+
595
+ s->storedCombinedCRC = 0;
596
+ GET_UCHAR(BZ_X_CCRC_1, uc);
597
+ s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
598
+ GET_UCHAR(BZ_X_CCRC_2, uc);
599
+ s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
600
+ GET_UCHAR(BZ_X_CCRC_3, uc);
601
+ s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
602
+ GET_UCHAR(BZ_X_CCRC_4, uc);
603
+ s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
604
+
605
+ s->state = BZ_X_IDLE;
606
+ RETURN(BZ_STREAM_END);
607
+
608
+ default: AssertH ( False, 4001 );
609
+ }
610
+
611
+ AssertH ( False, 4002 );
612
+
613
+ save_state_and_return:
614
+
615
+ s->save_i = i;
616
+ s->save_j = j;
617
+ s->save_t = t;
618
+ s->save_alphaSize = alphaSize;
619
+ s->save_nGroups = nGroups;
620
+ s->save_nSelectors = nSelectors;
621
+ s->save_EOB = EOB;
622
+ s->save_groupNo = groupNo;
623
+ s->save_groupPos = groupPos;
624
+ s->save_nextSym = nextSym;
625
+ s->save_nblockMAX = nblockMAX;
626
+ s->save_nblock = nblock;
627
+ s->save_es = es;
628
+ s->save_N = N;
629
+ s->save_curr = curr;
630
+ s->save_zt = zt;
631
+ s->save_zn = zn;
632
+ s->save_zvec = zvec;
633
+ s->save_zj = zj;
634
+ s->save_gSel = gSel;
635
+ s->save_gMinlen = gMinlen;
636
+ s->save_gLimit = gLimit;
637
+ s->save_gBase = gBase;
638
+ s->save_gPerm = gPerm;
639
+
640
+ return retVal;
641
+ }
642
+
643
+
644
+ /*-------------------------------------------------------------*/
645
+ /*--- end decompress.c ---*/
646
+ /*-------------------------------------------------------------*/