zeroc-ice 3.6.1 → 3.6.2

Sign up to get free protection for your applications and to get access to all the features.
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