zeroc-ice 3.6.1 → 3.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. checksums.yaml +4 -4
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -1
  4. data/ext/Communicator.cpp +31 -1
  5. data/ext/Communicator.h +1 -1
  6. data/ext/Config.h +12 -1
  7. data/ext/Connection.cpp +1 -1
  8. data/ext/Connection.h +1 -1
  9. data/ext/Endpoint.cpp +1 -1
  10. data/ext/Endpoint.h +1 -1
  11. data/ext/ImplicitContext.cpp +1 -1
  12. data/ext/ImplicitContext.h +1 -1
  13. data/ext/Init.cpp +1 -1
  14. data/ext/Logger.cpp +1 -1
  15. data/ext/Logger.h +1 -1
  16. data/ext/ObjectFactory.cpp +1 -1
  17. data/ext/ObjectFactory.h +1 -1
  18. data/ext/Operation.cpp +12 -12
  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 +5 -5
  23. data/ext/Proxy.h +1 -1
  24. data/ext/Slice.cpp +5 -1
  25. data/ext/Slice.h +1 -1
  26. data/ext/Types.cpp +40 -31
  27. data/ext/Types.h +1 -1
  28. data/ext/Util.cpp +4 -4
  29. data/ext/Util.h +2 -2
  30. data/ext/extconf.rb +2 -2
  31. data/ext/ice/cpp/include/Ice/ACMF.h +1 -1
  32. data/ext/ice/cpp/include/Ice/Application.h +1 -1
  33. data/ext/ice/cpp/include/Ice/AsyncResult.h +6 -1
  34. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/BasicStream.h +1 -1
  36. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +1 -1
  37. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  38. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  39. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +3 -3
  40. data/ext/ice/cpp/include/Ice/Communicator.h +3 -5
  41. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +1 -1
  42. data/ext/ice/cpp/include/Ice/CommunicatorF.h +3 -5
  43. data/ext/ice/cpp/include/Ice/Config.h +1 -1
  44. data/ext/ice/cpp/include/Ice/Connection.h +12 -31
  45. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +1 -1
  46. data/ext/ice/cpp/include/Ice/ConnectionF.h +3 -9
  47. data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +1 -1
  48. data/ext/ice/cpp/include/Ice/ConnectionIF.h +1 -1
  49. data/ext/ice/cpp/include/Ice/Current.h +3 -3
  50. data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +1 -1
  51. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +1 -1
  52. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +1 -1
  53. data/ext/ice/cpp/include/Ice/Dispatcher.h +1 -1
  54. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  55. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  56. data/ext/ice/cpp/include/Ice/Endpoint.h +3 -17
  57. data/ext/ice/cpp/include/Ice/EndpointF.h +3 -15
  58. data/ext/ice/cpp/include/Ice/EndpointTypes.h +3 -3
  59. data/ext/ice/cpp/include/Ice/Exception.h +1 -1
  60. data/ext/ice/cpp/include/Ice/FacetMap.h +3 -3
  61. data/ext/ice/cpp/include/Ice/FactoryTable.h +1 -1
  62. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  63. data/ext/ice/cpp/include/Ice/Format.h +1 -1
  64. data/ext/ice/cpp/include/Ice/Functional.h +1 -1
  65. data/ext/ice/cpp/include/Ice/GCObject.h +1 -1
  66. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  67. data/ext/ice/cpp/include/Ice/Ice.h +1 -1
  68. data/ext/ice/cpp/include/Ice/Identity.h +3 -3
  69. data/ext/ice/cpp/include/Ice/ImplicitContext.h +3 -5
  70. data/ext/ice/cpp/include/Ice/ImplicitContextF.h +3 -5
  71. data/ext/ice/cpp/include/Ice/Incoming.h +1 -1
  72. data/ext/ice/cpp/include/Ice/IncomingAsync.h +1 -1
  73. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  74. data/ext/ice/cpp/include/Ice/Initialize.h +3 -1
  75. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  76. data/ext/ice/cpp/include/Ice/Instrumentation.h +3 -23
  77. data/ext/ice/cpp/include/Ice/InstrumentationF.h +3 -7
  78. data/ext/ice/cpp/include/Ice/LocalException.h +3 -3
  79. data/ext/ice/cpp/include/Ice/LocalObject.h +1 -1
  80. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  81. data/ext/ice/cpp/include/Ice/Locator.h +3 -9
  82. data/ext/ice/cpp/include/Ice/LocatorF.h +3 -7
  83. data/ext/ice/cpp/include/Ice/Logger.h +3 -5
  84. data/ext/ice/cpp/include/Ice/LoggerF.h +3 -5
  85. data/ext/ice/cpp/include/Ice/LoggerUtil.h +1 -1
  86. data/ext/ice/cpp/include/Ice/Metrics.h +12 -28
  87. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +1 -1
  88. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +1 -1
  89. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +1 -1
  90. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +1 -1
  91. data/ext/ice/cpp/include/Ice/Object.h +1 -1
  92. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +3 -5
  93. data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +3 -5
  94. data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +1 -1
  95. data/ext/ice/cpp/include/Ice/ObjectF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/ObjectFactory.h +3 -5
  97. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +3 -5
  98. data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +1 -1
  99. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  100. data/ext/ice/cpp/include/Ice/Outgoing.h +1 -1
  101. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
  102. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -1
  103. data/ext/ice/cpp/include/Ice/Plugin.h +3 -7
  104. data/ext/ice/cpp/include/Ice/PluginF.h +3 -7
  105. data/ext/ice/cpp/include/Ice/Process.h +3 -5
  106. data/ext/ice/cpp/include/Ice/ProcessF.h +3 -5
  107. data/ext/ice/cpp/include/Ice/Properties.h +3 -5
  108. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +3 -5
  109. data/ext/ice/cpp/include/Ice/PropertiesF.h +3 -7
  110. data/ext/ice/cpp/include/Ice/Protocol.h +1 -1
  111. data/ext/ice/cpp/include/Ice/Proxy.h +1 -1
  112. data/ext/ice/cpp/include/Ice/ProxyF.h +1 -1
  113. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  114. data/ext/ice/cpp/include/Ice/ProxyHandle.h +1 -1
  115. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  116. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +1 -1
  117. data/ext/ice/cpp/include/Ice/RemoteLogger.h +3 -7
  118. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  119. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  120. data/ext/ice/cpp/include/Ice/Router.h +3 -7
  121. data/ext/ice/cpp/include/Ice/RouterF.h +3 -5
  122. data/ext/ice/cpp/include/Ice/ServantLocator.h +3 -5
  123. data/ext/ice/cpp/include/Ice/ServantLocatorF.h +3 -5
  124. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  125. data/ext/ice/cpp/include/Ice/Service.h +1 -1
  126. data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +3 -3
  127. data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
  128. data/ext/ice/cpp/include/Ice/SlicedData.h +1 -1
  129. data/ext/ice/cpp/include/Ice/SlicedDataF.h +1 -1
  130. data/ext/ice/cpp/include/Ice/Stream.h +1 -1
  131. data/ext/ice/cpp/include/Ice/StreamF.h +1 -1
  132. data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
  133. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  134. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +1 -1
  135. data/ext/ice/cpp/include/Ice/Version.h +3 -3
  136. data/ext/ice/cpp/include/IceSSL/Config.h +1 -1
  137. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +6 -19
  138. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +3 -7
  139. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -1
  140. data/ext/ice/cpp/include/IceSSL/Plugin.h +1 -1
  141. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +1 -1
  142. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  143. data/ext/ice/cpp/include/IceUtil/Cache.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  145. data/ext/ice/cpp/include/IceUtil/Config.h +3 -3
  146. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  147. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +1 -1
  148. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -1
  149. data/ext/ice/cpp/include/IceUtil/Exception.h +1 -1
  150. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  151. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  152. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  153. data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +1 -1
  154. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  155. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  156. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  157. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  158. data/ext/ice/cpp/include/IceUtil/Mutex.h +1 -1
  159. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  160. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  161. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  162. data/ext/ice/cpp/include/IceUtil/Optional.h +1 -1
  163. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  164. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +1 -1
  165. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  166. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +1 -1
  167. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  168. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  169. data/ext/ice/cpp/include/IceUtil/SHA1.h +1 -1
  170. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +1 -1
  171. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  172. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -1
  173. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  174. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  175. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  176. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  177. data/ext/ice/cpp/include/IceUtil/Timer.h +1 -1
  178. data/ext/ice/cpp/include/IceUtil/UUID.h +1 -1
  179. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  180. data/ext/ice/cpp/include/IceUtil/UniquePtr.h +1 -1
  181. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +1 -1
  182. data/ext/ice/cpp/include/Slice/Checksum.h +1 -1
  183. data/ext/ice/cpp/include/Slice/CsUtil.h +1 -1
  184. data/ext/ice/cpp/include/Slice/DotNetNames.h +1 -1
  185. data/ext/ice/cpp/include/Slice/FileTracker.h +1 -1
  186. data/ext/ice/cpp/include/Slice/JavaUtil.h +1 -1
  187. data/ext/ice/cpp/include/Slice/ObjCUtil.h +1 -1
  188. data/ext/ice/cpp/include/Slice/PHPUtil.h +1 -1
  189. data/ext/ice/cpp/include/Slice/Parser.h +1 -1
  190. data/ext/ice/cpp/include/Slice/Preprocessor.h +1 -1
  191. data/ext/ice/cpp/include/Slice/PythonUtil.h +1 -1
  192. data/ext/ice/cpp/include/Slice/RubyUtil.h +1 -1
  193. data/ext/ice/cpp/include/Slice/Util.h +1 -1
  194. data/ext/ice/cpp/src/Ice/ACM.cpp +1 -1
  195. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  196. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  197. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  198. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  199. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  200. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  201. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  202. data/ext/ice/cpp/src/Ice/BasicStream.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  204. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -1
  205. data/ext/ice/cpp/src/Ice/Buffer.cpp +1 -1
  206. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +1 -1
  208. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -1
  209. data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
  210. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +1 -1
  212. data/ext/ice/cpp/src/Ice/CommunicatorI.h +1 -1
  213. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +1 -1
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -1
  216. data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
  217. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  218. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1 -1
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +1 -1
  220. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +1 -1
  221. data/ext/ice/cpp/src/Ice/ConnectionI.h +1 -1
  222. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -1
  223. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +1 -1
  224. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  225. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  226. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  227. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  228. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +1 -1
  229. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  231. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +1 -1
  232. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  233. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
  235. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  236. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -1
  237. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -1
  238. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +1 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointI.cpp +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointI.h +1 -1
  244. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  245. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  246. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  247. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -1
  248. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  249. data/ext/ice/cpp/src/Ice/Exception.cpp +1 -1
  250. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  251. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  252. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -1
  253. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  255. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -1
  256. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  257. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +1 -1
  258. data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -1
  259. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  260. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  261. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
  262. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  263. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
  264. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  265. data/ext/ice/cpp/src/Ice/Incoming.cpp +1 -1
  266. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  267. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  268. data/ext/ice/cpp/src/Ice/Initialize.cpp +117 -1
  269. data/ext/ice/cpp/src/Ice/Instance.cpp +1 -1
  270. data/ext/ice/cpp/src/Ice/Instance.h +1 -1
  271. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
  272. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  273. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  274. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  275. data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
  276. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  277. data/ext/ice/cpp/src/Ice/Locator.cpp +3 -3
  278. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  279. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +1 -1
  280. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  281. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  282. data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
  283. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  284. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  285. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  286. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  288. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -1
  289. data/ext/ice/cpp/src/Ice/Metrics.cpp +3 -3
  290. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +1 -1
  291. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  292. data/ext/ice/cpp/src/Ice/Network.cpp +1 -1
  293. data/ext/ice/cpp/src/Ice/Network.h +1 -1
  294. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  295. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  296. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  297. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  298. data/ext/ice/cpp/src/Ice/Object.cpp +1 -1
  299. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
  300. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  301. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +1 -1
  302. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -1
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +1 -1
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +1 -1
  305. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
  306. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +3 -3
  307. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +1 -1
  308. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +1 -1
  309. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  310. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +1 -1
  311. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +1 -1
  312. data/ext/ice/cpp/src/Ice/Outgoing.cpp +1 -1
  313. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  314. data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
  315. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  316. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +1 -1
  317. data/ext/ice/cpp/src/Ice/PluginManagerI.h +1 -1
  318. data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
  319. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  320. data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
  321. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +3 -3
  322. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  325. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +1 -1
  326. data/ext/ice/cpp/src/Ice/PropertiesI.h +1 -1
  327. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +1 -1
  328. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  329. data/ext/ice/cpp/src/Ice/Protocol.cpp +1 -1
  330. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -1
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -1
  332. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  333. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  336. data/ext/ice/cpp/src/Ice/Proxy.cpp +1 -1
  337. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  339. data/ext/ice/cpp/src/Ice/Reference.cpp +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.h +1 -1
  341. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  343. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  344. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  346. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
  347. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  348. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -1
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -1
  352. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -1
  354. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
  355. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -1
  356. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  357. data/ext/ice/cpp/src/Ice/Router.cpp +3 -3
  358. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  359. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +1 -1
  360. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -1
  361. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  362. data/ext/ice/cpp/src/Ice/Selector.cpp +1 -1
  363. data/ext/ice/cpp/src/Ice/Selector.h +1 -1
  364. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
  365. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  366. data/ext/ice/cpp/src/Ice/ServantManager.cpp +1 -1
  367. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  368. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  369. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  370. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  371. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  372. data/ext/ice/cpp/src/Ice/Stream.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/StreamI.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamI.h +1 -1
  375. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +1 -1
  376. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -1
  377. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +1 -1
  378. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  380. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +1 -1
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  382. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +1 -1
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +1 -1
  386. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  388. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +4 -4
  389. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  390. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -1
  391. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  392. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  395. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  396. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  397. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  398. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  399. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +1 -1
  402. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +1 -1
  403. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -1
  404. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  405. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  406. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  407. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  408. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  409. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +1 -1
  410. data/ext/ice/cpp/src/Ice/WSEndpoint.h +1 -1
  411. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +1 -1
  412. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -1
  413. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
  414. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -7
  415. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  416. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  417. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +1 -1
  418. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  419. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  421. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
  422. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -7
  423. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +1 -1
  424. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.h +1 -1
  425. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +1 -1
  426. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  427. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +1 -1
  428. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
  429. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +1 -1
  430. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  431. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +1 -1
  432. data/ext/ice/cpp/src/IceSSL/EndpointI.h +1 -1
  433. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
  434. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -1
  435. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  436. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  437. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +2 -2
  438. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +7 -2
  439. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -1
  440. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -1
  441. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  442. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  443. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  444. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +1 -1
  445. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +1 -1
  446. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -1
  447. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +1 -1
  448. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -1
  449. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  450. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +96 -85
  451. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +14 -9
  452. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -1
  453. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +1 -1
  454. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  455. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  456. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  457. data/ext/ice/cpp/src/IceSSL/Util.h +1 -1
  458. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +1 -1
  459. data/ext/ice/cpp/src/IceUtil/ArgVector.h +1 -1
  460. data/ext/ice/cpp/src/IceUtil/Cond.cpp +1 -1
  461. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  462. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  463. data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +1 -1
  464. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  465. data/ext/ice/cpp/src/IceUtil/Exception.cpp +2 -2
  466. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +54 -15
  467. data/ext/ice/cpp/src/IceUtil/FileUtil.h +6 -1
  468. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  469. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  470. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  471. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +1 -1
  472. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  473. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -1
  474. data/ext/ice/cpp/src/IceUtil/SHA1.cpp +1 -1
  475. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -1
  476. data/ext/ice/cpp/src/IceUtil/StopWatch.h +1 -1
  477. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  478. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  479. data/ext/ice/cpp/src/IceUtil/Thread.cpp +1 -1
  480. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  481. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  482. data/ext/ice/cpp/src/IceUtil/Timer.cpp +1 -1
  483. data/ext/ice/cpp/src/IceUtil/UUID.cpp +1 -1
  484. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +57 -1
  485. data/ext/ice/cpp/src/IceUtil/Unicode.h +14 -1
  486. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +2 -2
  487. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  488. data/ext/ice/cpp/src/Slice/CsUtil.cpp +1 -1
  489. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +1 -1
  490. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  491. data/ext/ice/cpp/src/Slice/Grammar.cpp +1 -1
  492. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  493. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2 -2
  494. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  495. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  496. data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +1 -1
  497. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  498. data/ext/ice/cpp/src/Slice/Parser.cpp +1 -1
  499. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +1 -1
  500. data/ext/ice/cpp/src/Slice/Python.cpp +1 -1
  501. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +738 -209
  502. data/ext/ice/cpp/src/Slice/Ruby.cpp +5 -2
  503. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +125 -55
  504. data/ext/ice/cpp/src/Slice/Scanner.cpp +341 -204
  505. data/ext/ice/cpp/src/Slice/Util.cpp +1 -1
  506. data/ext/ice/mcpp/Makefile +5 -2
  507. data/ext/ice/mcpp/README.md +8 -2
  508. data/ext/ice/mcpp/configed.H +9 -1
  509. data/ext/ice/mcpp/support.c +3 -2
  510. data/ice.gemspec +2 -2
  511. data/lib/Glacier2.rb +1 -1
  512. data/lib/Glacier2/Metrics.rb +3 -2
  513. data/lib/Glacier2/PermissionsVerifier.rb +3 -2
  514. data/lib/Glacier2/PermissionsVerifierF.rb +3 -2
  515. data/lib/Glacier2/Router.rb +3 -2
  516. data/lib/Glacier2/RouterF.rb +3 -2
  517. data/lib/Glacier2/SSLInfo.rb +3 -2
  518. data/lib/Glacier2/Session.rb +3 -2
  519. data/lib/Ice.rb +1 -1
  520. data/lib/Ice/BuiltinSequences.rb +3 -2
  521. data/lib/Ice/Communicator.rb +3 -2
  522. data/lib/Ice/CommunicatorF.rb +3 -2
  523. data/lib/Ice/Connection.rb +3 -2
  524. data/lib/Ice/ConnectionF.rb +3 -2
  525. data/lib/Ice/Current.rb +3 -2
  526. data/lib/Ice/Endpoint.rb +3 -2
  527. data/lib/Ice/EndpointF.rb +3 -2
  528. data/lib/Ice/EndpointTypes.rb +3 -2
  529. data/lib/Ice/FacetMap.rb +3 -2
  530. data/lib/Ice/Identity.rb +3 -2
  531. data/lib/Ice/ImplicitContext.rb +3 -2
  532. data/lib/Ice/ImplicitContextF.rb +3 -2
  533. data/lib/Ice/Instrumentation.rb +3 -2
  534. data/lib/Ice/InstrumentationF.rb +3 -2
  535. data/lib/Ice/LocalException.rb +3 -2
  536. data/lib/Ice/Locator.rb +3 -2
  537. data/lib/Ice/LocatorF.rb +3 -2
  538. data/lib/Ice/Logger.rb +3 -2
  539. data/lib/Ice/LoggerF.rb +3 -2
  540. data/lib/Ice/Metrics.rb +3 -2
  541. data/lib/Ice/ObjectAdapterF.rb +3 -2
  542. data/lib/Ice/ObjectFactory.rb +3 -2
  543. data/lib/Ice/ObjectFactoryF.rb +3 -2
  544. data/lib/Ice/Plugin.rb +3 -2
  545. data/lib/Ice/PluginF.rb +3 -2
  546. data/lib/Ice/Process.rb +3 -2
  547. data/lib/Ice/ProcessF.rb +3 -2
  548. data/lib/Ice/Properties.rb +3 -2
  549. data/lib/Ice/PropertiesAdmin.rb +3 -2
  550. data/lib/Ice/PropertiesF.rb +3 -2
  551. data/lib/Ice/RemoteLogger.rb +3 -2
  552. data/lib/Ice/Router.rb +3 -2
  553. data/lib/Ice/RouterF.rb +3 -2
  554. data/lib/Ice/SliceChecksumDict.rb +3 -2
  555. data/lib/Ice/Version.rb +3 -2
  556. data/lib/IceBox.rb +1 -1
  557. data/lib/IceBox/IceBox.rb +3 -2
  558. data/lib/IceGrid.rb +1 -1
  559. data/lib/IceGrid/Admin.rb +3 -2
  560. data/lib/IceGrid/Descriptor.rb +3 -2
  561. data/lib/IceGrid/Exception.rb +3 -2
  562. data/lib/IceGrid/FileParser.rb +3 -2
  563. data/lib/IceGrid/Locator.rb +3 -2
  564. data/lib/IceGrid/Observer.rb +3 -2
  565. data/lib/IceGrid/Query.rb +3 -2
  566. data/lib/IceGrid/Registry.rb +3 -2
  567. data/lib/IceGrid/Session.rb +3 -2
  568. data/lib/IceGrid/UserAccountMapper.rb +3 -2
  569. data/lib/IcePatch2.rb +1 -1
  570. data/lib/IcePatch2/FileInfo.rb +3 -2
  571. data/lib/IcePatch2/FileServer.rb +3 -2
  572. data/lib/IceStorm.rb +1 -1
  573. data/lib/IceStorm/IceStorm.rb +3 -2
  574. data/lib/IceStorm/Metrics.rb +3 -2
  575. data/slice/Freeze/BackgroundSaveEvictor.ice +1 -1
  576. data/slice/Freeze/CatalogData.ice +1 -1
  577. data/slice/Freeze/Connection.ice +1 -1
  578. data/slice/Freeze/ConnectionF.ice +1 -1
  579. data/slice/Freeze/DB.ice +1 -1
  580. data/slice/Freeze/Evictor.ice +1 -1
  581. data/slice/Freeze/EvictorF.ice +1 -1
  582. data/slice/Freeze/EvictorStorage.ice +1 -1
  583. data/slice/Freeze/Exception.ice +1 -1
  584. data/slice/Freeze/Transaction.ice +1 -1
  585. data/slice/Freeze/TransactionalEvictor.ice +1 -1
  586. data/slice/Glacier2/Metrics.ice +1 -1
  587. data/slice/Glacier2/PermissionsVerifier.ice +1 -1
  588. data/slice/Glacier2/PermissionsVerifierF.ice +1 -1
  589. data/slice/Glacier2/Router.ice +1 -1
  590. data/slice/Glacier2/RouterF.ice +1 -1
  591. data/slice/Glacier2/SSLInfo.ice +1 -1
  592. data/slice/Glacier2/Session.ice +1 -1
  593. data/slice/Ice/BuiltinSequences.ice +1 -1
  594. data/slice/Ice/Communicator.ice +1 -1
  595. data/slice/Ice/CommunicatorF.ice +1 -1
  596. data/slice/Ice/Connection.ice +3 -3
  597. data/slice/Ice/ConnectionF.ice +1 -1
  598. data/slice/Ice/Current.ice +1 -1
  599. data/slice/Ice/Endpoint.ice +1 -1
  600. data/slice/Ice/EndpointF.ice +1 -1
  601. data/slice/Ice/EndpointTypes.ice +1 -1
  602. data/slice/Ice/FacetMap.ice +1 -1
  603. data/slice/Ice/Identity.ice +1 -1
  604. data/slice/Ice/ImplicitContext.ice +1 -1
  605. data/slice/Ice/ImplicitContextF.ice +1 -1
  606. data/slice/Ice/Instrumentation.ice +1 -1
  607. data/slice/Ice/InstrumentationF.ice +1 -1
  608. data/slice/Ice/LocalException.ice +1 -1
  609. data/slice/Ice/Locator.ice +1 -1
  610. data/slice/Ice/LocatorF.ice +1 -1
  611. data/slice/Ice/Logger.ice +1 -1
  612. data/slice/Ice/LoggerF.ice +1 -1
  613. data/slice/Ice/Metrics.ice +1 -1
  614. data/slice/Ice/ObjectAdapter.ice +4 -4
  615. data/slice/Ice/ObjectAdapterF.ice +1 -1
  616. data/slice/Ice/ObjectFactory.ice +1 -1
  617. data/slice/Ice/ObjectFactoryF.ice +1 -1
  618. data/slice/Ice/Plugin.ice +2 -2
  619. data/slice/Ice/PluginF.ice +1 -1
  620. data/slice/Ice/Process.ice +1 -1
  621. data/slice/Ice/ProcessF.ice +1 -1
  622. data/slice/Ice/Properties.ice +1 -1
  623. data/slice/Ice/PropertiesAdmin.ice +1 -1
  624. data/slice/Ice/PropertiesF.ice +1 -1
  625. data/slice/Ice/RemoteLogger.ice +4 -4
  626. data/slice/Ice/Router.ice +2 -2
  627. data/slice/Ice/RouterF.ice +1 -1
  628. data/slice/Ice/ServantLocator.ice +16 -16
  629. data/slice/Ice/ServantLocatorF.ice +1 -1
  630. data/slice/Ice/SliceChecksumDict.ice +1 -1
  631. data/slice/Ice/Version.ice +1 -1
  632. data/slice/IceBox/IceBox.ice +1 -1
  633. data/slice/IceDiscovery/IceDiscovery.ice +1 -1
  634. data/slice/IceGrid/Admin.ice +1 -1
  635. data/slice/IceGrid/Descriptor.ice +1 -1
  636. data/slice/IceGrid/Exception.ice +1 -1
  637. data/slice/IceGrid/FileParser.ice +1 -1
  638. data/slice/IceGrid/Locator.ice +1 -1
  639. data/slice/IceGrid/Observer.ice +1 -1
  640. data/slice/IceGrid/PluginFacade.ice +11 -11
  641. data/slice/IceGrid/Query.ice +1 -1
  642. data/slice/IceGrid/Registry.ice +1 -1
  643. data/slice/IceGrid/Session.ice +1 -1
  644. data/slice/IceGrid/UserAccountMapper.ice +1 -1
  645. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +1 -1
  646. data/slice/IcePatch2/FileInfo.ice +1 -1
  647. data/slice/IcePatch2/FileServer.ice +1 -1
  648. data/slice/IceSSL/ConnectionInfo.ice +2 -2
  649. data/slice/IceSSL/EndpointInfo.ice +1 -1
  650. data/slice/IceStorm/IceStorm.ice +1 -1
  651. data/slice/IceStorm/Metrics.ice +1 -1
  652. metadata +461 -462
  653. data/ext/ice/mcpp/Makefile.mak +0 -54
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -301,7 +301,10 @@ Slice::Ruby::compile(int argc, char* argv[])
301
301
  throw FileException(__FILE__, __LINE__, os.str());
302
302
  }
303
303
  FileTracker::instance()->addFile(file);
304
-
304
+ //
305
+ // Ruby magic comment to set the file encoding, it must be first or second line
306
+ //
307
+ out << "# encoding: utf-8\n";
305
308
  printHeader(out);
306
309
  printGeneratedHeader(out, base + ".ice", "#");
307
310
 
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -12,6 +12,7 @@
12
12
  #include <Slice/Util.h>
13
13
  #include <IceUtil/Functional.h>
14
14
  #include <IceUtil/InputUtil.h>
15
+ #include <IceUtil/Unicode.h>
15
16
  #include <iterator>
16
17
 
17
18
  using namespace std;
@@ -1470,68 +1471,137 @@ Slice::Ruby::CodeVisitor::writeConstantValue(const TypePtr& type, const SyntaxTr
1470
1471
 
1471
1472
  _out << "\""; // Opening "
1472
1473
 
1473
- for(string::const_iterator c = value.begin(); c != value.end(); ++c)
1474
+ for(size_t i = 0; i < value.size();)
1474
1475
  {
1475
- switch(*c)
1476
+ char c = value[i];
1477
+ switch(c)
1476
1478
  {
1477
- case '"':
1478
- {
1479
- _out << "\\\"";
1480
- break;
1481
- }
1482
- case '\\':
1483
- {
1484
- _out << "\\\\";
1485
- break;
1486
- }
1487
- case '\r':
1488
- {
1489
- _out << "\\r";
1490
- break;
1491
- }
1492
- case '\n':
1493
- {
1494
- _out << "\\n";
1495
- break;
1496
- }
1497
- case '\t':
1498
- {
1499
- _out << "\\t";
1500
- break;
1501
- }
1502
- case '\b':
1503
- {
1504
- _out << "\\b";
1505
- break;
1506
- }
1507
- case '\f':
1508
- {
1509
- _out << "\\f";
1510
- break;
1511
- }
1512
- default:
1513
- {
1514
- if(charSet.find(*c) == charSet.end())
1479
+ case '"':
1515
1480
  {
1516
- unsigned char uc = *c; // Char may be signed, so make it positive.
1517
- stringstream s;
1518
- s << "\\"; // Print as octal if not in basic source character set.
1519
- s.flags(ios_base::oct);
1520
- s.width(3);
1521
- s.fill('0');
1522
- s << static_cast<unsigned>(uc);
1523
- _out << s.str();
1481
+ _out << "\\\"";
1482
+ break;
1524
1483
  }
1525
- else
1484
+ case '\\':
1526
1485
  {
1527
- _out << *c; // Print normally if in basic source character set.
1486
+ string s = "\\";
1487
+ size_t j = i + 1;
1488
+ for(; j < value.size(); ++j)
1489
+ {
1490
+ if(value[j] != '\\')
1491
+ {
1492
+ break;
1493
+ }
1494
+ s += "\\";
1495
+ }
1496
+
1497
+ //
1498
+ // An even number of slash \ will escape the backslash and
1499
+ // the codepoint will be interpreted as its charaters
1500
+ //
1501
+ // \\u00000041 - ['\\', 'u', '0', '0', '0', '0', '0', '0', '4', '1']
1502
+ // \\\u00000041 - ['\\', 'A'] (41 is the codepoint for 'A')
1503
+ //
1504
+ if(s.size() % 2 != 0 && (value[j] == 'U' || value[j] == 'u'))
1505
+ {
1506
+ //
1507
+ // Convert codepoint to UTF8 bytes and write the escaped bytes
1508
+ //
1509
+ _out << s.substr(0, s.size() - 1);
1510
+
1511
+ size_t sz = value[j] == 'U' ? 8 : 4;
1512
+ string codepoint = value.substr(j + 1, sz);
1513
+ assert(codepoint.size() == sz);
1514
+ IceUtil::Int64 v = IceUtilInternal::strToInt64(codepoint.c_str(), 0, 16);
1515
+
1516
+ vector<unsigned int> u32buffer;
1517
+ u32buffer.push_back(static_cast<unsigned int>(v));
1518
+
1519
+ vector<unsigned char> u8buffer;
1520
+ IceUtilInternal::ConversionResult result = convertUTF32ToUTF8(u32buffer, u8buffer, IceUtil::lenientConversion);
1521
+ switch(result)
1522
+ {
1523
+ case conversionOK:
1524
+ break;
1525
+ case sourceExhausted:
1526
+ throw IceUtil::IllegalConversionException(__FILE__, __LINE__, "string source exhausted");
1527
+ case sourceIllegal:
1528
+ throw IceUtil::IllegalConversionException(__FILE__, __LINE__, "string source illegal");
1529
+ default:
1530
+ {
1531
+ assert(0);
1532
+ throw IceUtil::IllegalConversionException(__FILE__, __LINE__);
1533
+ }
1534
+ }
1535
+
1536
+ ostringstream s;
1537
+ for(vector<unsigned char>::const_iterator q = u8buffer.begin(); q != u8buffer.end(); ++q)
1538
+ {
1539
+ s << "\\";
1540
+ s.fill('0');
1541
+ s.width(3);
1542
+ s << oct;
1543
+ s << static_cast<unsigned int>(*q);
1544
+ }
1545
+ _out << s.str();
1546
+
1547
+ i = j + 1 + sz;
1548
+ }
1549
+ else
1550
+ {
1551
+ _out << s;
1552
+ i = j;
1553
+ }
1554
+ continue;
1555
+ }
1556
+ case '\r':
1557
+ {
1558
+ _out << "\\r";
1559
+ break;
1560
+ }
1561
+ case '\n':
1562
+ {
1563
+ _out << "\\n";
1564
+ break;
1565
+ }
1566
+ case '\t':
1567
+ {
1568
+ _out << "\\t";
1569
+ break;
1570
+ }
1571
+ case '\b':
1572
+ {
1573
+ _out << "\\b";
1574
+ break;
1575
+ }
1576
+ case '\f':
1577
+ {
1578
+ _out << "\\f";
1579
+ break;
1580
+ }
1581
+ default:
1582
+ {
1583
+ if(charSet.find(c) == charSet.end())
1584
+ {
1585
+ unsigned char uc = c; // Char may be signed, so make it positive.
1586
+ stringstream s;
1587
+ s << "\\"; // Print as octal if not in basic source character set.
1588
+ s.flags(ios_base::oct);
1589
+ s.width(3);
1590
+ s.fill('0');
1591
+ s << static_cast<unsigned>(uc);
1592
+ _out << s.str();
1593
+ }
1594
+ else
1595
+ {
1596
+ _out << c; // Print normally if in basic source character set.
1597
+ }
1598
+ break;
1528
1599
  }
1529
- break;
1530
- }
1531
1600
  }
1601
+ ++i;
1532
1602
  }
1533
1603
 
1534
- _out << "\""; // Closing "
1604
+ _out << "\""; // Closing "
1535
1605
  break;
1536
1606
  }
1537
1607
 
@@ -1760,7 +1830,7 @@ Slice::Ruby::printHeader(IceUtilInternal::Output& out)
1760
1830
  static const char* header =
1761
1831
  "# **********************************************************************\n"
1762
1832
  "#\n"
1763
- "# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.\n"
1833
+ "# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.\n"
1764
1834
  "#\n"
1765
1835
  "# This copy of Ice is licensed to you under the terms described in the\n"
1766
1836
  "# ICE_LICENSE file included in this distribution.\n"
@@ -29,7 +29,7 @@
29
29
  #define FLEX_SCANNER
30
30
  #define YY_FLEX_MAJOR_VERSION 2
31
31
  #define YY_FLEX_MINOR_VERSION 5
32
- #define YY_FLEX_SUBMINOR_VERSION 35
32
+ #define YY_FLEX_SUBMINOR_VERSION 39
33
33
  #if YY_FLEX_SUBMINOR_VERSION > 0
34
34
  #define FLEX_BETA
35
35
  #endif
@@ -74,7 +74,6 @@ typedef int flex_int32_t;
74
74
  typedef unsigned char flex_uint8_t;
75
75
  typedef unsigned short int flex_uint16_t;
76
76
  typedef unsigned int flex_uint32_t;
77
- #endif /* ! C99 */
78
77
 
79
78
  /* Limits of integral types. */
80
79
  #ifndef INT8_MIN
@@ -105,6 +104,8 @@ typedef unsigned int flex_uint32_t;
105
104
  #define UINT32_MAX (4294967295U)
106
105
  #endif
107
106
 
107
+ #endif /* ! C99 */
108
+
108
109
  #endif /* ! FLEXINT_H */
109
110
 
110
111
  #ifdef __cplusplus
@@ -161,7 +162,15 @@ typedef unsigned int flex_uint32_t;
161
162
 
162
163
  /* Size of default input buffer. */
163
164
  #ifndef YY_BUF_SIZE
165
+ #ifdef __ia64__
166
+ /* On IA-64, the buffer size is 16k, not 8k.
167
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
168
+ * Ditto for the __ia64__ case accordingly.
169
+ */
170
+ #define YY_BUF_SIZE 32768
171
+ #else
164
172
  #define YY_BUF_SIZE 16384
173
+ #endif /* __ia64__ */
165
174
  #endif
166
175
 
167
176
  /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -173,7 +182,12 @@ typedef unsigned int flex_uint32_t;
173
182
  typedef struct yy_buffer_state *YY_BUFFER_STATE;
174
183
  #endif
175
184
 
176
- extern int slice_leng;
185
+ #ifndef YY_TYPEDEF_YY_SIZE_T
186
+ #define YY_TYPEDEF_YY_SIZE_T
187
+ typedef size_t yy_size_t;
188
+ #endif
189
+
190
+ extern yy_size_t slice_leng;
177
191
 
178
192
  extern FILE *slice_in, *slice_out;
179
193
 
@@ -182,6 +196,7 @@ extern FILE *slice_in, *slice_out;
182
196
  #define EOB_ACT_LAST_MATCH 2
183
197
 
184
198
  #define YY_LESS_LINENO(n)
199
+ #define YY_LINENO_REWIND_TO(ptr)
185
200
 
186
201
  /* Return all but the first "n" matched characters back to the input stream. */
187
202
  #define yyless(n) \
@@ -199,11 +214,6 @@ extern FILE *slice_in, *slice_out;
199
214
 
200
215
  #define unput(c) yyunput( c, (yytext_ptr) )
201
216
 
202
- #ifndef YY_TYPEDEF_YY_SIZE_T
203
- #define YY_TYPEDEF_YY_SIZE_T
204
- typedef size_t yy_size_t;
205
- #endif
206
-
207
217
  #ifndef YY_STRUCT_YY_BUFFER_STATE
208
218
  #define YY_STRUCT_YY_BUFFER_STATE
209
219
  struct yy_buffer_state
@@ -221,7 +231,7 @@ struct yy_buffer_state
221
231
  /* Number of characters read into yy_ch_buf, not including EOB
222
232
  * characters.
223
233
  */
224
- int yy_n_chars;
234
+ yy_size_t yy_n_chars;
225
235
 
226
236
  /* Whether we "own" the buffer - i.e., we know we created it,
227
237
  * and can realloc() it to grow it, and should free() it to
@@ -291,8 +301,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
291
301
 
292
302
  /* yy_hold_char holds the character lost when slice_text is formed. */
293
303
  static char yy_hold_char;
294
- static int yy_n_chars; /* number of characters read into yy_ch_buf */
295
- int slice_leng;
304
+ static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
305
+ yy_size_t slice_leng;
296
306
 
297
307
  /* Points to current character in buffer. */
298
308
  static char *yy_c_buf_p = (char *) 0;
@@ -320,7 +330,7 @@ static void slice__init_buffer (YY_BUFFER_STATE b,FILE *file );
320
330
 
321
331
  YY_BUFFER_STATE slice__scan_buffer (char *base,yy_size_t size );
322
332
  YY_BUFFER_STATE slice__scan_string (yyconst char *yy_str );
323
- YY_BUFFER_STATE slice__scan_bytes (yyconst char *bytes,int len );
333
+ YY_BUFFER_STATE slice__scan_bytes (yyconst char *bytes,yy_size_t len );
324
334
 
325
335
  void *slice_alloc (yy_size_t );
326
336
  void *slice_realloc (void *,yy_size_t );
@@ -352,7 +362,7 @@ void slice_free (void * );
352
362
 
353
363
  /* Begin user sect3 */
354
364
 
355
- #define slice_wrap(n) 1
365
+ #define slice_wrap() 1
356
366
  #define YY_SKIP_YYWRAP
357
367
 
358
368
  typedef unsigned char YY_CHAR;
@@ -547,7 +557,7 @@ char *slice_text;
547
557
 
548
558
  // **********************************************************************
549
559
  //
550
- // Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
560
+ // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
551
561
  //
552
562
  // This copy of Ice is licensed to you under the terms described in the
553
563
  // ICE_LICENSE file included in this distribution.
@@ -558,6 +568,8 @@ char *slice_text;
558
568
  #include <Slice/Grammar.h>
559
569
  #include <IceUtil/InputUtil.h>
560
570
 
571
+ #include <iomanip>
572
+
561
573
  #include <stdlib.h>
562
574
  #include <math.h>
563
575
 
@@ -620,7 +632,7 @@ int checkKeyword(string&);
620
632
 
621
633
 
622
634
 
623
- #line 623 "lex.yy.c"
635
+ #line 635 "lex.yy.c"
624
636
 
625
637
  #define INITIAL 0
626
638
  #define BOMSCAN 1
@@ -661,7 +673,7 @@ FILE *slice_get_out (void );
661
673
 
662
674
  void slice_set_out (FILE * out_str );
663
675
 
664
- int slice_get_leng (void );
676
+ yy_size_t slice_get_leng (void );
665
677
 
666
678
  char *slice_get_text (void );
667
679
 
@@ -703,7 +715,12 @@ static int input (void );
703
715
 
704
716
  /* Amount of stuff to slurp up with each read. */
705
717
  #ifndef YY_READ_BUF_SIZE
718
+ #ifdef __ia64__
719
+ /* On IA-64, the buffer size is 16k, not 8k */
720
+ #define YY_READ_BUF_SIZE 16384
721
+ #else
706
722
  #define YY_READ_BUF_SIZE 8192
723
+ #endif /* __ia64__ */
707
724
  #endif
708
725
 
709
726
  /* Copy whatever the last rule matched to the standard output. */
@@ -722,7 +739,7 @@ static int input (void );
722
739
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
723
740
  { \
724
741
  int c = '*'; \
725
- unsigned n; \
742
+ size_t n; \
726
743
  for ( n = 0; n < max_size && \
727
744
  (c = getc( slice_in )) != EOF && c != '\n'; ++n ) \
728
745
  buf[n] = (char) c; \
@@ -807,11 +824,6 @@ YY_DECL
807
824
  register char *yy_cp, *yy_bp;
808
825
  register int yy_act;
809
826
 
810
- #line 92 "Scanner.l"
811
-
812
-
813
- #line 813 "lex.yy.c"
814
-
815
827
  if ( !(yy_init) )
816
828
  {
817
829
  (yy_init) = 1;
@@ -838,6 +850,12 @@ YY_DECL
838
850
  slice__load_buffer_state( );
839
851
  }
840
852
 
853
+ {
854
+ #line 94 "Scanner.l"
855
+
856
+
857
+ #line 857 "lex.yy.c"
858
+
841
859
  while ( 1 ) /* loops until end-of-file is reached */
842
860
  {
843
861
  yy_cp = (yy_c_buf_p);
@@ -855,7 +873,7 @@ YY_DECL
855
873
  yy_match:
856
874
  do
857
875
  {
858
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
876
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
859
877
  if ( yy_accept[yy_current_state] )
860
878
  {
861
879
  (yy_last_accepting_state) = yy_current_state;
@@ -895,7 +913,7 @@ case 1:
895
913
  (yy_c_buf_p) = yy_cp -= 1;
896
914
  YY_DO_BEFORE_ACTION; /* set up slice_text again */
897
915
  YY_RULE_SETUP
898
- #line 94 "Scanner.l"
916
+ #line 96 "Scanner.l"
899
917
  {
900
918
  if(unit->scanPosition(slice_text))
901
919
  {
@@ -906,10 +924,11 @@ YY_RULE_SETUP
906
924
  case 2:
907
925
  /* rule 2 can match eol */
908
926
  *yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
927
+ YY_LINENO_REWIND_TO(yy_cp - 1);
909
928
  (yy_c_buf_p) = yy_cp -= 1;
910
929
  YY_DO_BEFORE_ACTION; /* set up slice_text again */
911
930
  YY_RULE_SETUP
912
- #line 101 "Scanner.l"
931
+ #line 103 "Scanner.l"
913
932
  {
914
933
  if(unit->scanPosition(slice_text))
915
934
  {
@@ -922,7 +941,7 @@ case 3:
922
941
  (yy_c_buf_p) = yy_cp -= 1;
923
942
  YY_DO_BEFORE_ACTION; /* set up slice_text again */
924
943
  YY_RULE_SETUP
925
- #line 108 "Scanner.l"
944
+ #line 110 "Scanner.l"
926
945
  {
927
946
  if(unit->scanPosition(slice_text))
928
947
  {
@@ -933,10 +952,11 @@ YY_RULE_SETUP
933
952
  case 4:
934
953
  /* rule 4 can match eol */
935
954
  *yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
955
+ YY_LINENO_REWIND_TO(yy_cp - 1);
936
956
  (yy_c_buf_p) = yy_cp -= 1;
937
957
  YY_DO_BEFORE_ACTION; /* set up slice_text again */
938
958
  YY_RULE_SETUP
939
- #line 115 "Scanner.l"
959
+ #line 117 "Scanner.l"
940
960
  {
941
961
  if(unit->scanPosition(slice_text))
942
962
  {
@@ -946,7 +966,7 @@ YY_RULE_SETUP
946
966
  YY_BREAK
947
967
  case 5:
948
968
  YY_RULE_SETUP
949
- #line 122 "Scanner.l"
969
+ #line 124 "Scanner.l"
950
970
  {
951
971
  // C++-style comment
952
972
  BEGIN(MAINSCAN);
@@ -964,7 +984,7 @@ YY_RULE_SETUP
964
984
  YY_BREAK
965
985
  case 6:
966
986
  YY_RULE_SETUP
967
- #line 137 "Scanner.l"
987
+ #line 139 "Scanner.l"
968
988
  {
969
989
  // C-style comment
970
990
  BEGIN(MAINSCAN);
@@ -1008,7 +1028,7 @@ YY_RULE_SETUP
1008
1028
  YY_BREAK
1009
1029
  case 7:
1010
1030
  YY_RULE_SETUP
1011
- #line 178 "Scanner.l"
1031
+ #line 180 "Scanner.l"
1012
1032
  {
1013
1033
  BEGIN(MAINSCAN);
1014
1034
  return ICE_SCOPE_DELIMITER;
@@ -1016,7 +1036,7 @@ YY_RULE_SETUP
1016
1036
  YY_BREAK
1017
1037
  case 8:
1018
1038
  YY_RULE_SETUP
1019
- #line 183 "Scanner.l"
1039
+ #line 185 "Scanner.l"
1020
1040
  {
1021
1041
  BEGIN(MAINSCAN);
1022
1042
  return ICE_METADATA_OPEN;
@@ -1024,7 +1044,7 @@ YY_RULE_SETUP
1024
1044
  YY_BREAK
1025
1045
  case 9:
1026
1046
  YY_RULE_SETUP
1027
- #line 188 "Scanner.l"
1047
+ #line 190 "Scanner.l"
1028
1048
  {
1029
1049
  BEGIN(MAINSCAN);
1030
1050
  return ICE_METADATA_CLOSE;
@@ -1032,7 +1052,7 @@ YY_RULE_SETUP
1032
1052
  YY_BREAK
1033
1053
  case 10:
1034
1054
  YY_RULE_SETUP
1035
- #line 193 "Scanner.l"
1055
+ #line 195 "Scanner.l"
1036
1056
  {
1037
1057
  BEGIN(MAINSCAN);
1038
1058
  return ICE_GLOBAL_METADATA_OPEN;
@@ -1040,7 +1060,7 @@ YY_RULE_SETUP
1040
1060
  YY_BREAK
1041
1061
  case 11:
1042
1062
  YY_RULE_SETUP
1043
- #line 198 "Scanner.l"
1063
+ #line 200 "Scanner.l"
1044
1064
  {
1045
1065
  BEGIN(MAINSCAN);
1046
1066
  return ICE_GLOBAL_METADATA_CLOSE;
@@ -1049,7 +1069,7 @@ YY_RULE_SETUP
1049
1069
  case 12:
1050
1070
  /* rule 12 can match eol */
1051
1071
  YY_RULE_SETUP
1052
- #line 203 "Scanner.l"
1072
+ #line 205 "Scanner.l"
1053
1073
  {
1054
1074
  BEGIN(MAINSCAN);
1055
1075
  StringTokPtr ident = new StringTok;
@@ -1077,7 +1097,7 @@ YY_RULE_SETUP
1077
1097
  YY_BREAK
1078
1098
  case 13:
1079
1099
  YY_RULE_SETUP
1080
- #line 228 "Scanner.l"
1100
+ #line 230 "Scanner.l"
1081
1101
  {
1082
1102
  BEGIN(MAINSCAN);
1083
1103
  StringTokPtr ident = new StringTok;
@@ -1088,163 +1108,279 @@ YY_RULE_SETUP
1088
1108
  YY_BREAK
1089
1109
  case 14:
1090
1110
  YY_RULE_SETUP
1091
- #line 236 "Scanner.l"
1111
+ #line 238 "Scanner.l"
1092
1112
  {
1093
1113
  BEGIN(MAINSCAN);
1094
1114
  StringTokPtr str = new StringTok;
1095
1115
  str->literal = "\"";
1096
1116
  while(true)
1097
1117
  {
1098
- char c = static_cast<char>(yyinput());
1118
+ char c = static_cast<char>(yyinput());
1099
1119
  str->literal += c;
1100
- if(c == '"')
1101
- {
1102
- break;
1103
- }
1104
- else if(c == EOF)
1105
- {
1106
- unit->error("EOF in string");
1107
- break;
1108
- }
1109
- else if(c == '\n')
1110
- {
1111
- unit->error("newline in string");
1112
- }
1113
- else if(c == '\\')
1114
- {
1115
- char next = static_cast<char>(yyinput());
1120
+ if(c == '"')
1121
+ {
1122
+ break;
1123
+ }
1124
+ else if(c == EOF)
1125
+ {
1126
+ unit->error("EOF in string");
1127
+ break;
1128
+ }
1129
+ else if(c == '\n')
1130
+ {
1131
+ unit->error("newline in string");
1132
+ }
1133
+ else if(c == '\\')
1134
+ {
1135
+ char next = static_cast<char>(yyinput());
1116
1136
  str->literal += next;
1117
- switch(next)
1118
- {
1119
- case '\\':
1120
- case '"':
1121
- case '\'':
1122
- {
1123
- str->v += next;
1124
- break;
1125
- }
1126
-
1127
- case 'n':
1128
- {
1129
- str->v += '\n';
1130
- break;
1131
- }
1132
-
1133
- case 'r':
1134
- {
1135
- str->v += '\r';
1136
- break;
1137
- }
1138
-
1139
- case 't':
1140
- {
1141
- str->v += '\t';
1142
- break;
1143
- }
1144
-
1145
- case 'v':
1146
- {
1147
- str->v += '\v';
1148
- break;
1149
- }
1150
-
1151
- case 'f':
1152
- {
1153
- str->v += '\f';
1154
- break;
1155
- }
1156
-
1157
- case 'a':
1158
- {
1159
- str->v += '\a';
1160
- break;
1161
- }
1162
-
1163
- case 'b':
1164
- {
1165
- str->v += '\b';
1166
- break;
1167
- }
1168
-
1169
- case '?':
1170
- {
1171
- str->v += '\?';
1172
- break;
1173
- }
1174
-
1175
- case '0':
1176
- case '1':
1177
- case '2':
1178
- case '3':
1179
- {
1180
- static string octalDigits = "01234567";
1181
- unsigned short us = next - '0';
1182
- if(octalDigits.find_first_of(next = static_cast<char>(yyinput())) != string::npos)
1183
- {
1137
+ switch(next)
1138
+ {
1139
+ case '\\':
1140
+ {
1141
+ str->v += '\\';
1142
+ str->v += '\\';
1143
+ break;
1144
+ }
1145
+ case '"':
1146
+ case '\'':
1147
+ {
1148
+ str->v += next;
1149
+ break;
1150
+ }
1151
+
1152
+ case 'n':
1153
+ {
1154
+ str->v += '\n';
1155
+ break;
1156
+ }
1157
+
1158
+ case 'r':
1159
+ {
1160
+ str->v += '\r';
1161
+ break;
1162
+ }
1163
+
1164
+ case 't':
1165
+ {
1166
+ str->v += '\t';
1167
+ break;
1168
+ }
1169
+
1170
+ case 'v':
1171
+ {
1172
+ str->v += '\v';
1173
+ break;
1174
+ }
1175
+
1176
+ case 'f':
1177
+ {
1178
+ str->v += '\f';
1179
+ break;
1180
+ }
1181
+
1182
+ case 'a':
1183
+ {
1184
+ str->v += '\a';
1185
+ break;
1186
+ }
1187
+
1188
+ case 'b':
1189
+ {
1190
+ str->v += '\b';
1191
+ break;
1192
+ }
1193
+
1194
+ case '?':
1195
+ {
1196
+ str->v += '\?';
1197
+ break;
1198
+ }
1199
+
1200
+ //
1201
+ // Octal value \nnn limited to three octal digits but terminate at the first character
1202
+ // that is not a valid octal digit if encountered sooner.
1203
+ //
1204
+ case '0':
1205
+ case '1':
1206
+ case '2':
1207
+ case '3':
1208
+ case '4':
1209
+ case '5':
1210
+ case '7':
1211
+ {
1212
+ static string octalDigits = "01234567";
1213
+ IceUtil::Int64 value = 0;
1214
+ string escape;
1215
+ escape += next;
1216
+ for(int i = 0; i < 2; ++i)
1217
+ {
1218
+ next = static_cast<char>(yyinput());
1219
+ if(octalDigits.find_first_of(next) == string::npos)
1220
+ {
1221
+ unput(next);
1222
+ break;
1223
+ }
1224
+ escape += next;
1225
+ }
1226
+ str->literal += escape;
1227
+ value = IceUtilInternal::strToInt64(escape.c_str(), 0, 8);
1228
+
1229
+ if(value == 0)
1230
+ {
1231
+ unit->error("illegal NUL character in string constant");
1232
+ }
1233
+ else if(value > 255)
1234
+ {
1235
+ ostringstream os;
1236
+ os << "octal escape sequence out of range: '\\" << oct << value << "'";
1237
+ unit->warning(os.str());
1238
+ }
1239
+ str->v += static_cast<char>(value);
1240
+ break;
1241
+ }
1242
+ case 'x':
1243
+ {
1244
+ IceUtil::Int64 value = 0;
1245
+ string escape = "";
1246
+ while(isxdigit(static_cast<unsigned char>(next = static_cast<char>(yyinput()))))
1247
+ {
1248
+ escape += next;
1249
+ }
1250
+ unput(next);
1251
+
1252
+ str->literal += escape;
1253
+ value = IceUtilInternal::strToInt64(escape.c_str(), 0, 16);
1254
+
1255
+ if(value == 0)
1256
+ {
1257
+ unit->error("illegal NUL character in string constant");
1258
+ }
1259
+ else if(value > 255)
1260
+ {
1261
+ ostringstream os;
1262
+ os << "hex escape sequence out of range: '\\x" << hex << value << "'";
1263
+ unit->warning(os.str());
1264
+ }
1265
+ str->v += static_cast<char>(value);
1266
+ break;
1267
+ }
1268
+
1269
+ //
1270
+ // Universal character name \unnnn code point U+nnnn
1271
+ //
1272
+ case 'u':
1273
+ {
1274
+ IceUtil::Int64 value = 0;
1275
+ string escape = "";
1276
+
1277
+ for(int i = 0; i < 4; ++i)
1278
+ {
1279
+ next = static_cast<char>(yyinput());
1184
1280
  str->literal += next;
1185
- us = us * 8 + next - '0';
1186
- if(octalDigits.find_first_of(next = static_cast<char>(yyinput())) != string::npos)
1187
- {
1188
- us = us * 8 + next - '0';
1189
- }
1190
- else
1191
- {
1192
- unput(next);
1193
- }
1194
- }
1195
- else
1196
- {
1197
- unput(next);
1198
- }
1199
- if(us == 0)
1200
- {
1201
- unit->error("illegal NUL character in string constant");
1202
- }
1203
- str->v += static_cast<char>(us);
1204
- break;
1205
- }
1206
- case 'x':
1207
- {
1208
- IceUtil::Int64 ull = 0;
1209
- while(isxdigit(static_cast<unsigned char>(next = static_cast<char>(yyinput()))))
1210
- {
1281
+ if(!isxdigit(static_cast<unsigned char>(next)))
1282
+ {
1283
+ unit->error("unknown escape sequence in string constant: " + str->literal);
1284
+ break;
1285
+ }
1286
+ escape += next;
1287
+ }
1288
+
1289
+ value = escape.size() == 4 ? IceUtilInternal::strToInt64(escape.c_str(), 0, 16) : -1;
1290
+
1291
+ ostringstream os;
1292
+ os << '\\' << 'u';
1293
+ os.fill('0');
1294
+ os.width(4);
1295
+ os << hex << value;
1296
+
1297
+ if(value == 0)
1298
+ {
1299
+ unit->error("illegal NUL character in string constant");
1300
+ }
1301
+
1302
+
1303
+ //
1304
+ // Determine if a character is a surrogate:
1305
+ //
1306
+ // * High surrogate code point, ranging from 0xd800 to 0xdbff, inclusive
1307
+ // * Low surrogate code point, ranging from 0xdc00 to 0xdfff, inclusive.
1308
+ //
1309
+ else if((value >= 0xd800 && value <= 0xdbff) || (value >= 0xdc00 && value <= 0xdfff))
1310
+ {
1311
+ unit->error("unknown escape sequence in string constant: '" + os.str() + "'");
1312
+ }
1313
+
1314
+ str->v += os.str();
1315
+
1316
+ break;
1317
+ }
1318
+
1319
+ case 'U':
1320
+ {
1321
+ IceUtil::Int64 value = 0;
1322
+ string escape = "";
1323
+
1324
+ for(int i = 0; i < 8; ++i)
1325
+ {
1326
+ next = static_cast<char>(yyinput());
1211
1327
  str->literal += next;
1212
- ull *= 16;
1213
- if(isdigit(static_cast<unsigned char>(next)))
1214
- {
1215
- ull += next - '0';
1216
- }
1217
- else if(islower(static_cast<unsigned char>(next)))
1218
- {
1219
- ull += next - 'a' + 10;
1220
- }
1221
- else
1222
- {
1223
- ull += next - 'A' + 10;
1224
- }
1225
- }
1226
- unput(next);
1227
- if(ull == 0)
1228
- {
1229
- unit->error("illegal NUL character in string constant");
1230
- }
1231
- str->v += static_cast<char>(ull);
1232
- break;
1233
- }
1234
-
1235
- // TODO: add universal character names
1236
-
1237
- default:
1238
- {
1239
- str->v += c;
1240
- unput(next);
1241
- }
1242
- }
1243
- }
1244
- else
1245
- {
1246
- str->v += c;
1247
- }
1328
+ if(!isxdigit(static_cast<unsigned char>(next)))
1329
+ {
1330
+
1331
+ unit->error("unknown escape sequence in string constant: " + str->literal);
1332
+ break;
1333
+ }
1334
+ escape += next;
1335
+ }
1336
+
1337
+ value = escape.size() == 8 ? IceUtilInternal::strToInt64(escape.c_str(), 0, 16) : -1;
1338
+
1339
+ ostringstream os;
1340
+ os << '\\' << 'U';
1341
+ os.fill('0');
1342
+ os.width(8);
1343
+ os << hex << value;
1344
+
1345
+ if(value == 0)
1346
+ {
1347
+ unit->error("illegal NUL character in string constant");
1348
+ }
1349
+
1350
+ //
1351
+ // Determine if a character is a surrogate:
1352
+ //
1353
+ // * High surrogate code point, ranging from 0xd800 to 0xdbff, inclusive
1354
+ // * Low surrogate code point, ranging from 0xdc00 to 0xdfff, inclusive.
1355
+ //
1356
+ else if((value >= 0xd800 && value <= 0xdbff) || (value >= 0xdc00 && value <= 0xdfff))
1357
+ {
1358
+ unit->error("unknown escape sequence in string constant: '" + os.str() + "'");
1359
+ }
1360
+
1361
+ str->v += os.str();
1362
+ break;
1363
+ }
1364
+
1365
+ default:
1366
+ {
1367
+ ostringstream os;
1368
+ os << "unknown escape sequence '\\" << next << "'";
1369
+ unit->warning(os.str());
1370
+ //
1371
+ // We escape the backslack in a unknown escape sequence
1372
+ // to keep compativility with 3.6"
1373
+ //
1374
+ str->v += '\\';
1375
+ str->v += c;
1376
+ unput(next);
1377
+ }
1378
+ }
1379
+ }
1380
+ else
1381
+ {
1382
+ str->v += c;
1383
+ }
1248
1384
  }
1249
1385
  *yylvalp = str;
1250
1386
  return ICE_STRING_LITERAL;
@@ -1252,7 +1388,7 @@ YY_RULE_SETUP
1252
1388
  YY_BREAK
1253
1389
  case 15:
1254
1390
  YY_RULE_SETUP
1255
- #line 397 "Scanner.l"
1391
+ #line 515 "Scanner.l"
1256
1392
  {
1257
1393
  BEGIN(MAINSCAN);
1258
1394
  IntegerTokPtr itp = new IntegerTok;
@@ -1271,7 +1407,7 @@ YY_RULE_SETUP
1271
1407
  YY_BREAK
1272
1408
  case 16:
1273
1409
  YY_RULE_SETUP
1274
- #line 413 "Scanner.l"
1410
+ #line 531 "Scanner.l"
1275
1411
  {
1276
1412
  BEGIN(MAINSCAN);
1277
1413
  errno = 0;
@@ -1305,7 +1441,7 @@ YY_RULE_SETUP
1305
1441
  case 17:
1306
1442
  /* rule 17 can match eol */
1307
1443
  YY_RULE_SETUP
1308
- #line 443 "Scanner.l"
1444
+ #line 561 "Scanner.l"
1309
1445
  {
1310
1446
  // Ignore white-space
1311
1447
 
@@ -1321,7 +1457,7 @@ YY_RULE_SETUP
1321
1457
  YY_BREAK
1322
1458
  case 18:
1323
1459
  YY_RULE_SETUP
1324
- #line 456 "Scanner.l"
1460
+ #line 574 "Scanner.l"
1325
1461
  {
1326
1462
  // Ignore UTF-8 BOM, rule only active when parsing start of file.
1327
1463
 
@@ -1330,7 +1466,7 @@ YY_RULE_SETUP
1330
1466
  YY_BREAK
1331
1467
  case 19:
1332
1468
  YY_RULE_SETUP
1333
- #line 462 "Scanner.l"
1469
+ #line 580 "Scanner.l"
1334
1470
  {
1335
1471
  BEGIN(MAINSCAN);
1336
1472
  if(slice_text[0] < 32 || slice_text[0] > 126)
@@ -1349,10 +1485,10 @@ YY_RULE_SETUP
1349
1485
  YY_BREAK
1350
1486
  case 20:
1351
1487
  YY_RULE_SETUP
1352
- #line 478 "Scanner.l"
1488
+ #line 596 "Scanner.l"
1353
1489
  ECHO;
1354
1490
  YY_BREAK
1355
- #line 1355 "lex.yy.c"
1491
+ #line 1491 "lex.yy.c"
1356
1492
  case YY_STATE_EOF(INITIAL):
1357
1493
  case YY_STATE_EOF(BOMSCAN):
1358
1494
  case YY_STATE_EOF(MAINSCAN):
@@ -1486,6 +1622,7 @@ case YY_STATE_EOF(MAINSCAN):
1486
1622
  "fatal flex scanner internal error--no action found" );
1487
1623
  } /* end of action switch */
1488
1624
  } /* end of scanning one token */
1625
+ } /* end of user's declarations */
1489
1626
  } /* end of slice_lex */
1490
1627
 
1491
1628
  /* yy_get_next_buffer - try to read in a new buffer
@@ -1541,21 +1678,21 @@ static int yy_get_next_buffer (void)
1541
1678
 
1542
1679
  else
1543
1680
  {
1544
- int num_to_read =
1681
+ yy_size_t num_to_read =
1545
1682
  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1546
1683
 
1547
1684
  while ( num_to_read <= 0 )
1548
1685
  { /* Not enough room in the buffer - grow it. */
1549
1686
 
1550
1687
  /* just a shorter name for the current buffer */
1551
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1688
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
1552
1689
 
1553
1690
  int yy_c_buf_p_offset =
1554
1691
  (int) ((yy_c_buf_p) - b->yy_ch_buf);
1555
1692
 
1556
1693
  if ( b->yy_is_our_buffer )
1557
1694
  {
1558
- int new_size = b->yy_buf_size * 2;
1695
+ yy_size_t new_size = b->yy_buf_size * 2;
1559
1696
 
1560
1697
  if ( new_size <= 0 )
1561
1698
  b->yy_buf_size += b->yy_buf_size / 8;
@@ -1586,7 +1723,7 @@ static int yy_get_next_buffer (void)
1586
1723
 
1587
1724
  /* Read in more data. */
1588
1725
  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1589
- (yy_n_chars), (size_t) num_to_read );
1726
+ (yy_n_chars), num_to_read );
1590
1727
 
1591
1728
  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1592
1729
  }
@@ -1682,7 +1819,7 @@ static int yy_get_next_buffer (void)
1682
1819
  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1683
1820
  yy_is_jam = (yy_current_state == 72);
1684
1821
 
1685
- return yy_is_jam ? 0 : yy_current_state;
1822
+ return yy_is_jam ? 0 : yy_current_state;
1686
1823
  }
1687
1824
 
1688
1825
  static void yyunput (int c, register char * yy_bp )
@@ -1697,7 +1834,7 @@ static int yy_get_next_buffer (void)
1697
1834
  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1698
1835
  { /* need to shift things up to make room */
1699
1836
  /* +2 for EOB chars. */
1700
- register int number_to_move = (yy_n_chars) + 2;
1837
+ register yy_size_t number_to_move = (yy_n_chars) + 2;
1701
1838
  register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
1702
1839
  YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
1703
1840
  register char *source =
@@ -1746,7 +1883,7 @@ static int yy_get_next_buffer (void)
1746
1883
 
1747
1884
  else
1748
1885
  { /* need more input */
1749
- int offset = (yy_c_buf_p) - (yytext_ptr);
1886
+ yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
1750
1887
  ++(yy_c_buf_p);
1751
1888
 
1752
1889
  switch ( yy_get_next_buffer( ) )
@@ -2020,7 +2157,7 @@ void slice_pop_buffer_state (void)
2020
2157
  */
2021
2158
  static void slice_ensure_buffer_stack (void)
2022
2159
  {
2023
- int num_to_alloc;
2160
+ yy_size_t num_to_alloc;
2024
2161
 
2025
2162
  if (!(yy_buffer_stack)) {
2026
2163
 
@@ -2112,17 +2249,17 @@ YY_BUFFER_STATE slice__scan_string (yyconst char * yystr )
2112
2249
 
2113
2250
  /** Setup the input buffer state to scan the given bytes. The next call to slice_lex() will
2114
2251
  * scan from a @e copy of @a bytes.
2115
- * @param bytes the byte buffer to scan
2116
- * @param len the number of bytes in the buffer pointed to by @a bytes.
2252
+ * @param yybytes the byte buffer to scan
2253
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2117
2254
  *
2118
2255
  * @return the newly allocated buffer state object.
2119
2256
  */
2120
- YY_BUFFER_STATE slice__scan_bytes (yyconst char * yybytes, int _yybytes_len )
2257
+ YY_BUFFER_STATE slice__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
2121
2258
  {
2122
2259
  YY_BUFFER_STATE b;
2123
2260
  char *buf;
2124
2261
  yy_size_t n;
2125
- int i;
2262
+ yy_size_t i;
2126
2263
 
2127
2264
  /* Get memory for full buffer, including space for trailing EOB's. */
2128
2265
  n = _yybytes_len + 2;
@@ -2204,7 +2341,7 @@ FILE *slice_get_out (void)
2204
2341
  /** Get the length of the current token.
2205
2342
  *
2206
2343
  */
2207
- int slice_get_leng (void)
2344
+ yy_size_t slice_get_leng (void)
2208
2345
  {
2209
2346
  return slice_leng;
2210
2347
  }
@@ -2352,7 +2489,7 @@ void slice_free (void * ptr )
2352
2489
 
2353
2490
  #define YYTABLES_NAME "yytables"
2354
2491
 
2355
- #line 478 "Scanner.l"
2492
+ #line 595 "Scanner.l"
2356
2493
 
2357
2494
 
2358
2495