zeroc-ice 3.7.9.1 → 3.7.11

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 (994) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Connection.cpp +536 -0
  3. data/dist/IceRuby/Endpoint.cpp +344 -0
  4. data/dist/IceRuby/ImplicitContext.cpp +148 -0
  5. data/dist/IceRuby/Logger.cpp +151 -0
  6. data/dist/IceRuby/Operation.cpp +665 -0
  7. data/dist/IceRuby/Properties.cpp +369 -0
  8. data/dist/IceRuby/Types.cpp +3336 -0
  9. data/dist/IceRuby/Types.h +604 -0
  10. data/dist/IceRuby/ValueFactoryManager.cpp +445 -0
  11. data/dist/ice/cpp/include/Ice/Config.h +76 -0
  12. data/dist/ice/cpp/include/Ice/ConsoleUtil.h +23 -0
  13. data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +74 -0
  14. data/dist/ice/cpp/include/Ice/Ice.h +55 -0
  15. data/dist/ice/cpp/include/Ice/Initialize.h +957 -0
  16. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +669 -0
  17. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +868 -0
  18. data/dist/ice/cpp/include/Ice/Proxy.h +5171 -0
  19. data/dist/ice/cpp/include/Ice/SHA1.h +40 -0
  20. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +90 -0
  21. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +1889 -0
  22. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  23. data/dist/ice/cpp/include/IceSSL/IceSSL.h +24 -0
  24. data/dist/ice/cpp/include/IceUtil/Cond.h +317 -0
  25. data/dist/ice/cpp/include/IceUtil/Config.h +392 -0
  26. data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +92 -0
  27. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +96 -0
  28. data/dist/ice/cpp/include/IceUtil/FileUtil.h +140 -0
  29. data/dist/ice/cpp/include/IceUtil/IceUtil.h +40 -0
  30. data/dist/ice/cpp/include/IceUtil/InputUtil.h +42 -0
  31. data/dist/ice/cpp/include/IceUtil/Mutex.h +349 -0
  32. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +37 -0
  33. data/dist/ice/cpp/include/IceUtil/Thread.h +160 -0
  34. data/dist/ice/cpp/include/IceUtil/Timer.h +153 -0
  35. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +475 -0
  36. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +1430 -0
  37. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +147 -0
  38. data/dist/ice/cpp/include/generated/Glacier2/Router.h +3260 -0
  39. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +125 -0
  40. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +223 -0
  41. data/dist/ice/cpp/include/generated/Glacier2/Session.h +5894 -0
  42. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +170 -0
  43. data/dist/ice/cpp/include/generated/Ice/Communicator.h +1162 -0
  44. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +101 -0
  45. data/dist/ice/cpp/include/generated/Ice/Connection.h +1703 -0
  46. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +119 -0
  47. data/dist/ice/cpp/include/generated/Ice/Current.h +322 -0
  48. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +979 -0
  49. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +166 -0
  50. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +118 -0
  51. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +80 -0
  52. data/dist/ice/cpp/include/generated/Ice/Identity.h +264 -0
  53. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +284 -0
  54. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +101 -0
  55. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +1203 -0
  56. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +128 -0
  57. data/dist/ice/cpp/include/generated/Ice/LocalException.h +7437 -0
  58. data/dist/ice/cpp/include/generated/Ice/Locator.h +3898 -0
  59. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +147 -0
  60. data/dist/ice/cpp/include/generated/Ice/Logger.h +237 -0
  61. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +101 -0
  62. data/dist/ice/cpp/include/generated/Ice/Metrics.h +4769 -0
  63. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +1181 -0
  64. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +101 -0
  65. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +203 -0
  66. data/dist/ice/cpp/include/generated/Ice/Plugin.h +318 -0
  67. data/dist/ice/cpp/include/generated/Ice/PluginF.h +110 -0
  68. data/dist/ice/cpp/include/generated/Ice/Process.h +977 -0
  69. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +125 -0
  70. data/dist/ice/cpp/include/generated/Ice/Properties.h +452 -0
  71. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +1366 -0
  72. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +134 -0
  73. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +2707 -0
  74. data/dist/ice/cpp/include/generated/Ice/Router.h +1850 -0
  75. data/dist/ice/cpp/include/generated/Ice/RouterF.h +125 -0
  76. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +305 -0
  77. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +101 -0
  78. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +84 -0
  79. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +330 -0
  80. data/dist/ice/cpp/include/generated/Ice/Version.h +357 -0
  81. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +3269 -0
  82. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +33773 -0
  83. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +5254 -0
  84. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +2834 -0
  85. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +824 -0
  86. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +635 -0
  87. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +5089 -0
  88. data/dist/ice/cpp/include/generated/IceGrid/Session.h +2240 -0
  89. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +800 -0
  90. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +325 -0
  91. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +2891 -0
  92. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +228 -0
  93. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +101 -0
  94. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +186 -0
  95. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +6627 -0
  96. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +665 -0
  97. data/dist/ice/cpp/src/Ice/Acceptor.h +37 -0
  98. data/dist/ice/cpp/src/Ice/Application.cpp +661 -0
  99. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1972 -0
  100. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  101. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3670 -0
  102. data/dist/ice/cpp/src/Ice/ConnectionI.h +389 -0
  103. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +171 -0
  104. data/dist/ice/cpp/src/Ice/DLLMain.cpp +50 -0
  105. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +159 -0
  106. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +284 -0
  107. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +189 -0
  108. data/dist/ice/cpp/src/Ice/EndpointI.cpp +98 -0
  109. data/dist/ice/cpp/src/Ice/EventHandler.cpp +32 -0
  110. data/dist/ice/cpp/src/Ice/EventHandler.h +81 -0
  111. data/dist/ice/cpp/src/Ice/Exception.cpp +818 -0
  112. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +710 -0
  113. data/dist/ice/cpp/src/Ice/IPEndpointI.h +152 -0
  114. data/dist/ice/cpp/src/Ice/InputStream.cpp +2741 -0
  115. data/dist/ice/cpp/src/Ice/Instance.cpp +1967 -0
  116. data/dist/ice/cpp/src/Ice/LoggerI.cpp +259 -0
  117. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +694 -0
  118. data/dist/ice/cpp/src/Ice/Network.cpp +2249 -0
  119. data/dist/ice/cpp/src/Ice/Network.h +289 -0
  120. data/dist/ice/cpp/src/Ice/NetworkF.h +19 -0
  121. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +311 -0
  122. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1530 -0
  123. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1322 -0
  124. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
  125. data/dist/ice/cpp/src/Ice/PropertiesI.cpp +739 -0
  126. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +1428 -0
  127. data/dist/ice/cpp/src/Ice/PropertyNames.h +78 -0
  128. data/dist/ice/cpp/src/Ice/Proxy.cpp +1604 -0
  129. data/dist/ice/cpp/src/Ice/SHA1.cpp +169 -0
  130. data/dist/ice/cpp/src/Ice/Selector.cpp +1535 -0
  131. data/dist/ice/cpp/src/Ice/Selector.h +292 -0
  132. data/dist/ice/cpp/src/Ice/Service.cpp +1883 -0
  133. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +519 -0
  134. data/dist/ice/cpp/src/Ice/StreamSocket.h +85 -0
  135. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +234 -0
  136. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +61 -0
  137. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +135 -0
  138. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +58 -0
  139. data/dist/ice/cpp/src/Ice/Thread.cpp +569 -0
  140. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1292 -0
  141. data/dist/ice/cpp/src/Ice/ThreadPool.h +393 -0
  142. data/dist/ice/cpp/src/Ice/Transceiver.h +49 -0
  143. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  144. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +806 -0
  145. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +96 -0
  146. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +92 -0
  147. data/dist/ice/cpp/src/Ice/WSAcceptor.h +52 -0
  148. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1704 -0
  149. data/dist/ice/cpp/src/Ice/WSTransceiver.h +141 -0
  150. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +49 -0
  151. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +79 -0
  152. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +61 -0
  153. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +155 -0
  154. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +61 -0
  155. data/dist/ice/cpp/src/Ice/generated/Current.cpp +62 -0
  156. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +147 -0
  157. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +61 -0
  158. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +51 -0
  159. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +49 -0
  160. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +57 -0
  161. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +75 -0
  162. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +61 -0
  163. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +188 -0
  164. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +66 -0
  165. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +3262 -0
  166. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +2042 -0
  167. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +63 -0
  168. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +73 -0
  169. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +61 -0
  170. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +2352 -0
  171. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +79 -0
  172. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +61 -0
  173. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +75 -0
  174. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +87 -0
  175. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +61 -0
  176. data/dist/ice/cpp/src/Ice/generated/Process.cpp +471 -0
  177. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +63 -0
  178. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +78 -0
  179. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +603 -0
  180. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +63 -0
  181. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +1171 -0
  182. data/dist/ice/cpp/src/Ice/generated/Router.cpp +977 -0
  183. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +63 -0
  184. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +75 -0
  185. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +61 -0
  186. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +49 -0
  187. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +83 -0
  188. data/dist/ice/cpp/src/Ice/generated/Version.cpp +57 -0
  189. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +154 -0
  190. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +49 -0
  191. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +146 -0
  192. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +52 -0
  193. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +477 -0
  194. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +156 -0
  195. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +570 -0
  196. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +93 -0
  197. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +1889 -0
  198. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +915 -0
  199. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +1197 -0
  200. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +730 -0
  201. data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +105 -0
  202. data/dist/ice/cpp/src/IceSSL/AcceptorI.h +52 -0
  203. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1092 -0
  204. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +246 -0
  205. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +719 -0
  206. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +868 -0
  207. data/dist/ice/cpp/src/IceSSL/Util.cpp +192 -0
  208. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +75 -0
  209. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +61 -0
  210. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +75 -0
  211. data/dist/ice/cpp/src/IceUtil/ConsoleUtil.cpp +157 -0
  212. data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +471 -0
  213. data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +238 -0
  214. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +690 -0
  215. data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +1135 -0
  216. data/dist/ice/cpp/src/IceUtil/UUID.cpp +165 -0
  217. data/dist/ice/cpp/src/IceUtil/UtilException.cpp +839 -0
  218. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +5183 -0
  219. data/dist/ice/cpp/src/Slice/JavaUtil.h +407 -0
  220. data/dist/ice/cpp/src/slice2rb/Main.cpp +35 -0
  221. data/dist/ice/mcpp/directive.c +1407 -0
  222. data/dist/ice/mcpp/internal.H +530 -0
  223. data/dist/ice/mcpp/mcpp_main.c +792 -0
  224. data/dist/ice/mcpp/support.c +1985 -0
  225. data/dist/ice/mcpp/system.c +2741 -0
  226. data/dist/ice/slice/Ice/Connection.ice +516 -0
  227. data/dist/ice/slice/Ice/Current.ice +170 -0
  228. data/dist/ice/slice/Ice/Locator.ice +239 -0
  229. data/dist/ice/slice/Ice/Metrics.ice +436 -0
  230. data/dist/ice/slice/Ice/ObjectAdapter.ice +710 -0
  231. data/dist/ice/slice/Ice/Properties.ice +244 -0
  232. data/dist/ice/slice/Ice/Router.ice +103 -0
  233. data/dist/ice/slice/IceGrid/PluginFacade.ice +329 -0
  234. data/dist/ice/slice/IceStorm/IceStorm.ice +414 -0
  235. data/dist/lib/Glacier2/Metrics.rb +56 -0
  236. data/dist/lib/Glacier2/PermissionsVerifier.rb +93 -0
  237. data/dist/lib/Glacier2/PermissionsVerifierF.rb +30 -0
  238. data/dist/lib/Glacier2/Router.rb +95 -0
  239. data/dist/lib/Glacier2/RouterF.rb +25 -0
  240. data/dist/lib/Glacier2/SSLInfo.rb +72 -0
  241. data/dist/lib/Glacier2/Session.rb +247 -0
  242. data/dist/lib/Ice/BuiltinSequences.rb +60 -0
  243. data/dist/lib/Ice/Communicator.rb +87 -0
  244. data/dist/lib/Ice/CommunicatorF.rb +24 -0
  245. data/dist/lib/Ice/Connection.rb +413 -0
  246. data/dist/lib/Ice/ConnectionF.rb +32 -0
  247. data/dist/lib/Ice/Current.rb +141 -0
  248. data/dist/lib/Ice/Endpoint.rb +187 -0
  249. data/dist/lib/Ice/EndpointF.rb +48 -0
  250. data/dist/lib/Ice/EndpointTypes.rb +69 -0
  251. data/dist/lib/Ice/FacetMap.rb +24 -0
  252. data/dist/lib/Ice/Identity.rb +63 -0
  253. data/dist/lib/Ice/ImplicitContext.rb +26 -0
  254. data/dist/lib/Ice/ImplicitContextF.rb +24 -0
  255. data/dist/lib/Ice/Instrumentation.rb +169 -0
  256. data/dist/lib/Ice/InstrumentationF.rb +31 -0
  257. data/dist/lib/Ice/LocalException.rb +1031 -0
  258. data/dist/lib/Ice/Locator.rb +196 -0
  259. data/dist/lib/Ice/LocatorF.rb +30 -0
  260. data/dist/lib/Ice/Logger.rb +24 -0
  261. data/dist/lib/Ice/LoggerF.rb +24 -0
  262. data/dist/lib/Ice/Metrics.rb +337 -0
  263. data/dist/lib/Ice/ObjectAdapter.rb +29 -0
  264. data/dist/lib/Ice/ObjectAdapterF.rb +24 -0
  265. data/dist/lib/Ice/ObjectFactory.rb +24 -0
  266. data/dist/lib/Ice/Plugin.rb +30 -0
  267. data/dist/lib/Ice/PluginF.rb +28 -0
  268. data/dist/lib/Ice/Process.rb +53 -0
  269. data/dist/lib/Ice/ProcessF.rb +25 -0
  270. data/dist/lib/Ice/Properties.rb +25 -0
  271. data/dist/lib/Ice/PropertiesAdmin.rb +63 -0
  272. data/dist/lib/Ice/PropertiesF.rb +29 -0
  273. data/dist/lib/Ice/RemoteLogger.rb +207 -0
  274. data/dist/lib/Ice/Router.rb +87 -0
  275. data/dist/lib/Ice/RouterF.rb +25 -0
  276. data/dist/lib/Ice/ServantLocator.rb +26 -0
  277. data/dist/lib/Ice/ServantLocatorF.rb +24 -0
  278. data/dist/lib/Ice/SliceChecksumDict.rb +24 -0
  279. data/dist/lib/Ice/ValueFactory.rb +28 -0
  280. data/dist/lib/Ice/Version.rb +90 -0
  281. data/dist/lib/IceBox/IceBox.rb +164 -0
  282. data/dist/lib/IceGrid/Admin.rb +1196 -0
  283. data/dist/lib/IceGrid/Descriptor.rb +1034 -0
  284. data/dist/lib/IceGrid/Exception.rb +376 -0
  285. data/dist/lib/IceGrid/FileParser.rb +65 -0
  286. data/dist/lib/IceGrid/PluginFacade.rb +35 -0
  287. data/dist/lib/IceGrid/Registry.rb +209 -0
  288. data/dist/lib/IceGrid/Session.rb +71 -0
  289. data/dist/lib/IceGrid/UserAccountMapper.rb +61 -0
  290. data/dist/lib/IcePatch2/FileInfo.rb +115 -0
  291. data/dist/lib/IcePatch2/FileServer.rb +123 -0
  292. data/dist/lib/IceStorm/IceStorm.rb +332 -0
  293. data/dist/lib/IceStorm/Metrics.rb +73 -0
  294. data/extconf.rb +91 -0
  295. data/ice.gemspec +21 -16
  296. metadata +715 -711
  297. data/ICE_LICENSE +0 -48
  298. data/LICENSE +0 -340
  299. data/MCPP_LICENSE +0 -29
  300. data/ext/Connection.cpp +0 -532
  301. data/ext/Endpoint.cpp +0 -340
  302. data/ext/ImplicitContext.cpp +0 -144
  303. data/ext/Logger.cpp +0 -147
  304. data/ext/Operation.cpp +0 -661
  305. data/ext/Properties.cpp +0 -365
  306. data/ext/Types.cpp +0 -3325
  307. data/ext/Types.h +0 -595
  308. data/ext/ValueFactoryManager.cpp +0 -441
  309. data/ext/extconf.rb +0 -97
  310. data/ext/ice/cpp/include/Ice/Config.h +0 -78
  311. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  312. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  313. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  314. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  315. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  316. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  317. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  318. data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
  319. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  320. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
  321. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  322. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  323. data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
  324. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  325. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  326. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
  327. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  328. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  329. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
  330. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
  331. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
  332. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
  333. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  334. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  335. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  336. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  337. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  338. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  339. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  340. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  341. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  342. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  343. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  344. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  345. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  346. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  347. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  348. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  349. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  350. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  351. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  352. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  353. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  354. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  355. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  356. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  357. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  358. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  359. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  360. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  361. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  362. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  363. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  364. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  365. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  366. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  367. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  368. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  369. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  370. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  371. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  372. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  373. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  374. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  375. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  376. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  377. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  378. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  379. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  380. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  381. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  382. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  383. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  384. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
  385. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
  386. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  387. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
  388. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
  389. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  390. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  391. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  392. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  393. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  394. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  395. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  396. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
  397. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  398. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
  399. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
  400. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  401. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  402. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  403. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  404. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
  405. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  406. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  407. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  408. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  409. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  410. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  411. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  412. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
  413. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  414. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  415. data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
  416. data/ext/ice/cpp/src/Ice/Network.h +0 -371
  417. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
  418. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
  419. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  420. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  421. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  422. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  423. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  424. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  425. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  426. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  427. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  428. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  429. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  430. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  431. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  432. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
  433. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  434. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  435. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  436. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  437. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  438. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  439. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
  440. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
  441. data/ext/ice/cpp/src/Ice/Selector.h +0 -308
  442. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  443. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  444. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  445. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
  446. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
  447. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
  448. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
  449. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  450. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  451. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
  452. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
  453. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  454. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  455. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
  456. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
  457. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
  458. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  459. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  460. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  461. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  462. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
  463. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  464. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  465. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  466. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  467. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  468. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  469. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  470. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  471. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  472. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  473. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  474. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  477. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  478. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  479. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  480. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  481. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  482. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  483. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  484. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  485. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  486. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
  487. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
  488. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  489. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
  490. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
  491. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  492. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
  493. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
  494. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  495. data/ext/ice/mcpp/LICENSE +0 -29
  496. data/ext/ice/mcpp/Makefile +0 -63
  497. data/ext/ice/mcpp/README.md +0 -32
  498. data/ext/ice/mcpp/directive.c +0 -1404
  499. data/ext/ice/mcpp/internal.H +0 -530
  500. data/ext/ice/mcpp/main.c +0 -792
  501. data/ext/ice/mcpp/mcpp.gyp +0 -88
  502. data/ext/ice/mcpp/support.c +0 -1985
  503. data/ext/ice/mcpp/system.c +0 -2741
  504. data/lib/Glacier2/Metrics.rb +0 -56
  505. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  506. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  507. data/lib/Glacier2/Router.rb +0 -95
  508. data/lib/Glacier2/RouterF.rb +0 -25
  509. data/lib/Glacier2/SSLInfo.rb +0 -72
  510. data/lib/Glacier2/Session.rb +0 -247
  511. data/lib/Ice/BuiltinSequences.rb +0 -60
  512. data/lib/Ice/Communicator.rb +0 -87
  513. data/lib/Ice/CommunicatorF.rb +0 -24
  514. data/lib/Ice/Connection.rb +0 -413
  515. data/lib/Ice/ConnectionF.rb +0 -32
  516. data/lib/Ice/Current.rb +0 -141
  517. data/lib/Ice/Endpoint.rb +0 -187
  518. data/lib/Ice/EndpointF.rb +0 -48
  519. data/lib/Ice/EndpointTypes.rb +0 -69
  520. data/lib/Ice/FacetMap.rb +0 -24
  521. data/lib/Ice/Identity.rb +0 -63
  522. data/lib/Ice/ImplicitContext.rb +0 -26
  523. data/lib/Ice/ImplicitContextF.rb +0 -24
  524. data/lib/Ice/Instrumentation.rb +0 -169
  525. data/lib/Ice/InstrumentationF.rb +0 -31
  526. data/lib/Ice/LocalException.rb +0 -1031
  527. data/lib/Ice/Locator.rb +0 -196
  528. data/lib/Ice/LocatorF.rb +0 -30
  529. data/lib/Ice/Logger.rb +0 -24
  530. data/lib/Ice/LoggerF.rb +0 -24
  531. data/lib/Ice/Metrics.rb +0 -337
  532. data/lib/Ice/ObjectAdapter.rb +0 -29
  533. data/lib/Ice/ObjectAdapterF.rb +0 -24
  534. data/lib/Ice/ObjectFactory.rb +0 -24
  535. data/lib/Ice/Plugin.rb +0 -30
  536. data/lib/Ice/PluginF.rb +0 -28
  537. data/lib/Ice/Process.rb +0 -53
  538. data/lib/Ice/ProcessF.rb +0 -25
  539. data/lib/Ice/Properties.rb +0 -25
  540. data/lib/Ice/PropertiesAdmin.rb +0 -63
  541. data/lib/Ice/PropertiesF.rb +0 -29
  542. data/lib/Ice/RemoteLogger.rb +0 -207
  543. data/lib/Ice/Router.rb +0 -87
  544. data/lib/Ice/RouterF.rb +0 -25
  545. data/lib/Ice/ServantLocator.rb +0 -26
  546. data/lib/Ice/ServantLocatorF.rb +0 -24
  547. data/lib/Ice/SliceChecksumDict.rb +0 -24
  548. data/lib/Ice/ValueFactory.rb +0 -28
  549. data/lib/Ice/Version.rb +0 -90
  550. data/lib/IceBox/IceBox.rb +0 -164
  551. data/lib/IceGrid/Admin.rb +0 -1196
  552. data/lib/IceGrid/Descriptor.rb +0 -1034
  553. data/lib/IceGrid/Exception.rb +0 -376
  554. data/lib/IceGrid/FileParser.rb +0 -65
  555. data/lib/IceGrid/PluginFacade.rb +0 -35
  556. data/lib/IceGrid/Registry.rb +0 -209
  557. data/lib/IceGrid/Session.rb +0 -71
  558. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  559. data/lib/IcePatch2/FileInfo.rb +0 -115
  560. data/lib/IcePatch2/FileServer.rb +0 -123
  561. data/lib/IceStorm/IceStorm.rb +0 -332
  562. data/lib/IceStorm/Metrics.rb +0 -73
  563. data/slice/Ice/Connection.ice +0 -516
  564. data/slice/Ice/Current.ice +0 -170
  565. data/slice/Ice/Locator.ice +0 -239
  566. data/slice/Ice/Metrics.ice +0 -436
  567. data/slice/Ice/ObjectAdapter.ice +0 -710
  568. data/slice/Ice/Properties.ice +0 -244
  569. data/slice/Ice/Router.ice +0 -103
  570. data/slice/IceBT/ConnectionInfo.ice +0 -59
  571. data/slice/IceBT/EndpointInfo.ice +0 -57
  572. data/slice/IceBT/Types.ice +0 -45
  573. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  574. data/slice/IceGrid/PluginFacade.ice +0 -329
  575. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  576. data/slice/IceIAP/EndpointInfo.ice +0 -68
  577. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  578. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  579. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  580. data/slice/IceSSL/EndpointInfo.ice +0 -45
  581. data/slice/IceStorm/IceStorm.ice +0 -414
  582. /data/{ext → dist/IceRuby}/Communicator.cpp +0 -0
  583. /data/{ext → dist/IceRuby}/Communicator.h +0 -0
  584. /data/{ext → dist/IceRuby}/Config.h +0 -0
  585. /data/{ext → dist/IceRuby}/Connection.h +0 -0
  586. /data/{ext → dist/IceRuby}/Endpoint.h +0 -0
  587. /data/{ext → dist/IceRuby}/ImplicitContext.h +0 -0
  588. /data/{ext → dist/IceRuby}/Init.cpp +0 -0
  589. /data/{ext → dist/IceRuby}/Logger.h +0 -0
  590. /data/{ext → dist/IceRuby}/Operation.h +0 -0
  591. /data/{ext → dist/IceRuby}/Properties.h +0 -0
  592. /data/{ext → dist/IceRuby}/Proxy.cpp +0 -0
  593. /data/{ext → dist/IceRuby}/Proxy.h +0 -0
  594. /data/{ext → dist/IceRuby}/Slice.cpp +0 -0
  595. /data/{ext → dist/IceRuby}/Slice.h +0 -0
  596. /data/{ext → dist/IceRuby}/Util.cpp +0 -0
  597. /data/{ext → dist/IceRuby}/Util.h +0 -0
  598. /data/{ext → dist/IceRuby}/ValueFactoryManager.h +0 -0
  599. /data/{ext → dist}/ice/cpp/include/Ice/Application.h +0 -0
  600. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResult.h +0 -0
  601. /data/{ext → dist}/ice/cpp/include/Ice/AsyncResultF.h +0 -0
  602. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -0
  603. /data/{ext → dist}/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -0
  604. /data/{ext → dist}/ice/cpp/include/Ice/Buffer.h +0 -0
  605. /data/{ext → dist}/ice/cpp/include/Ice/CommunicatorAsync.h +0 -0
  606. /data/{ext → dist}/ice/cpp/include/Ice/Comparable.h +0 -0
  607. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionAsync.h +0 -0
  608. /data/{ext → dist}/ice/cpp/include/Ice/ConnectionIF.h +0 -0
  609. /data/{ext → dist}/ice/cpp/include/Ice/DefaultValueFactory.h +0 -0
  610. /data/{ext → dist}/ice/cpp/include/Ice/DispatchInterceptor.h +0 -0
  611. /data/{ext → dist}/ice/cpp/include/Ice/Dispatcher.h +0 -0
  612. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibrary.h +0 -0
  613. /data/{ext → dist}/ice/cpp/include/Ice/DynamicLibraryF.h +0 -0
  614. /data/{ext → dist}/ice/cpp/include/Ice/Exception.h +0 -0
  615. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTable.h +0 -0
  616. /data/{ext → dist}/ice/cpp/include/Ice/FactoryTableInit.h +0 -0
  617. /data/{ext → dist}/ice/cpp/include/Ice/Format.h +0 -0
  618. /data/{ext → dist}/ice/cpp/include/Ice/Functional.h +0 -0
  619. /data/{ext → dist}/ice/cpp/include/Ice/GCObject.h +0 -0
  620. /data/{ext → dist}/ice/cpp/include/Ice/Handle.h +0 -0
  621. /data/{ext → dist}/ice/cpp/include/Ice/IconvStringConverter.h +0 -0
  622. /data/{ext → dist}/ice/cpp/include/Ice/Incoming.h +0 -0
  623. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsync.h +0 -0
  624. /data/{ext → dist}/ice/cpp/include/Ice/IncomingAsyncF.h +0 -0
  625. /data/{ext → dist}/ice/cpp/include/Ice/InputStream.h +0 -0
  626. /data/{ext → dist}/ice/cpp/include/Ice/InstanceF.h +0 -0
  627. /data/{ext → dist}/ice/cpp/include/Ice/InterfaceByValue.h +0 -0
  628. /data/{ext → dist}/ice/cpp/include/Ice/LocalObject.h +0 -0
  629. /data/{ext → dist}/ice/cpp/include/Ice/LocalObjectF.h +0 -0
  630. /data/{ext → dist}/ice/cpp/include/Ice/LoggerUtil.h +0 -0
  631. /data/{ext → dist}/ice/cpp/include/Ice/MetricsAdminI.h +0 -0
  632. /data/{ext → dist}/ice/cpp/include/Ice/MetricsFunctional.h +0 -0
  633. /data/{ext → dist}/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -0
  634. /data/{ext → dist}/ice/cpp/include/Ice/Object.h +0 -0
  635. /data/{ext → dist}/ice/cpp/include/Ice/ObjectF.h +0 -0
  636. /data/{ext → dist}/ice/cpp/include/Ice/ObserverHelper.h +0 -0
  637. /data/{ext → dist}/ice/cpp/include/Ice/Optional.h +0 -0
  638. /data/{ext → dist}/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -0
  639. /data/{ext → dist}/ice/cpp/include/Ice/OutputStream.h +0 -0
  640. /data/{ext → dist}/ice/cpp/include/Ice/Protocol.h +0 -0
  641. /data/{ext → dist}/ice/cpp/include/Ice/ProxyF.h +0 -0
  642. /data/{ext → dist}/ice/cpp/include/Ice/ProxyFactoryF.h +0 -0
  643. /data/{ext → dist}/ice/cpp/include/Ice/ProxyHandle.h +0 -0
  644. /data/{ext → dist}/ice/cpp/include/Ice/ReferenceF.h +0 -0
  645. /data/{ext → dist}/ice/cpp/include/Ice/RegisterPlugins.h +0 -0
  646. /data/{ext → dist}/ice/cpp/include/Ice/RequestHandlerF.h +0 -0
  647. /data/{ext → dist}/ice/cpp/include/Ice/ResponseHandlerF.h +0 -0
  648. /data/{ext → dist}/ice/cpp/include/Ice/ServantManagerF.h +0 -0
  649. /data/{ext → dist}/ice/cpp/include/Ice/Service.h +0 -0
  650. /data/{ext → dist}/ice/cpp/include/Ice/SliceChecksums.h +0 -0
  651. /data/{ext → dist}/ice/cpp/include/Ice/SlicedData.h +0 -0
  652. /data/{ext → dist}/ice/cpp/include/Ice/SlicedDataF.h +0 -0
  653. /data/{ext → dist}/ice/cpp/include/Ice/StreamHelpers.h +0 -0
  654. /data/{ext → dist}/ice/cpp/include/Ice/StringConverter.h +0 -0
  655. /data/{ext → dist}/ice/cpp/include/Ice/ThreadPoolF.h +0 -0
  656. /data/{ext → dist}/ice/cpp/include/Ice/UUID.h +0 -0
  657. /data/{ext → dist}/ice/cpp/include/Ice/UniquePtr.h +0 -0
  658. /data/{ext → dist}/ice/cpp/include/Ice/UniqueRef.h +0 -0
  659. /data/{ext → dist}/ice/cpp/include/Ice/Value.h +0 -0
  660. /data/{ext → dist}/ice/cpp/include/Ice/ValueF.h +0 -0
  661. /data/{ext → dist}/ice/cpp/include/IceSSL/Config.h +0 -0
  662. /data/{ext → dist}/ice/cpp/include/IceSSL/OpenSSL.h +0 -0
  663. /data/{ext → dist}/ice/cpp/include/IceSSL/Plugin.h +0 -0
  664. /data/{ext → dist}/ice/cpp/include/IceSSL/SChannel.h +0 -0
  665. /data/{ext → dist}/ice/cpp/include/IceSSL/SecureTransport.h +0 -0
  666. /data/{ext → dist}/ice/cpp/include/IceUtil/Atomic.h +0 -0
  667. /data/{ext → dist}/ice/cpp/include/IceUtil/CountDownLatch.h +0 -0
  668. /data/{ext → dist}/ice/cpp/include/IceUtil/DisableWarnings.h +0 -0
  669. /data/{ext → dist}/ice/cpp/include/IceUtil/Exception.h +0 -0
  670. /data/{ext → dist}/ice/cpp/include/IceUtil/Functional.h +0 -0
  671. /data/{ext → dist}/ice/cpp/include/IceUtil/Handle.h +0 -0
  672. /data/{ext → dist}/ice/cpp/include/IceUtil/Iterator.h +0 -0
  673. /data/{ext → dist}/ice/cpp/include/IceUtil/Lock.h +0 -0
  674. /data/{ext → dist}/ice/cpp/include/IceUtil/Monitor.h +0 -0
  675. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexProtocol.h +0 -0
  676. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -0
  677. /data/{ext → dist}/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -0
  678. /data/{ext → dist}/ice/cpp/include/IceUtil/Optional.h +0 -0
  679. /data/{ext → dist}/ice/cpp/include/IceUtil/Options.h +0 -0
  680. /data/{ext → dist}/ice/cpp/include/IceUtil/OutputUtil.h +0 -0
  681. /data/{ext → dist}/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -0
  682. /data/{ext → dist}/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -0
  683. /data/{ext → dist}/ice/cpp/include/IceUtil/Random.h +0 -0
  684. /data/{ext → dist}/ice/cpp/include/IceUtil/RecMutex.h +0 -0
  685. /data/{ext → dist}/ice/cpp/include/IceUtil/ScannerConfig.h +0 -0
  686. /data/{ext → dist}/ice/cpp/include/IceUtil/ScopedArray.h +0 -0
  687. /data/{ext → dist}/ice/cpp/include/IceUtil/Shared.h +0 -0
  688. /data/{ext → dist}/ice/cpp/include/IceUtil/StopWatch.h +0 -0
  689. /data/{ext → dist}/ice/cpp/include/IceUtil/StringConverter.h +0 -0
  690. /data/{ext → dist}/ice/cpp/include/IceUtil/StringUtil.h +0 -0
  691. /data/{ext → dist}/ice/cpp/include/IceUtil/ThreadException.h +0 -0
  692. /data/{ext → dist}/ice/cpp/include/IceUtil/Time.h +0 -0
  693. /data/{ext → dist}/ice/cpp/include/IceUtil/UUID.h +0 -0
  694. /data/{ext → dist}/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -0
  695. /data/{ext → dist}/ice/cpp/src/Ice/ACM.cpp +0 -0
  696. /data/{ext → dist}/ice/cpp/src/Ice/ACM.h +0 -0
  697. /data/{ext → dist}/ice/cpp/src/Ice/ACMF.h +0 -0
  698. /data/{ext → dist}/ice/cpp/src/Ice/Acceptor.cpp +0 -0
  699. /data/{ext → dist}/ice/cpp/src/Ice/AcceptorF.h +0 -0
  700. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.cpp +0 -0
  701. /data/{ext → dist}/ice/cpp/src/Ice/ArgVector.h +0 -0
  702. /data/{ext → dist}/ice/cpp/src/Ice/AsyncResult.cpp +0 -0
  703. /data/{ext → dist}/ice/cpp/src/Ice/Base64.cpp +0 -0
  704. /data/{ext → dist}/ice/cpp/src/Ice/Base64.h +0 -0
  705. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -0
  706. /data/{ext → dist}/ice/cpp/src/Ice/BatchRequestQueue.h +0 -0
  707. /data/{ext → dist}/ice/cpp/src/Ice/Buffer.cpp +0 -0
  708. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -0
  709. /data/{ext → dist}/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -0
  710. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.cpp +0 -0
  711. /data/{ext → dist}/ice/cpp/src/Ice/CommunicatorI.h +0 -0
  712. /data/{ext → dist}/ice/cpp/src/Ice/Cond.cpp +0 -0
  713. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -0
  714. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -0
  715. /data/{ext → dist}/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -0
  716. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -0
  717. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -0
  718. /data/{ext → dist}/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -0
  719. /data/{ext → dist}/ice/cpp/src/Ice/Connector.cpp +0 -0
  720. /data/{ext → dist}/ice/cpp/src/Ice/Connector.h +0 -0
  721. /data/{ext → dist}/ice/cpp/src/Ice/ConnectorF.h +0 -0
  722. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -0
  723. /data/{ext → dist}/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -0
  724. /data/{ext → dist}/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -0
  725. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactory.h +0 -0
  726. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryF.h +0 -0
  727. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -0
  728. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -0
  729. /data/{ext → dist}/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -0
  730. /data/{ext → dist}/ice/cpp/src/Ice/EndpointI.h +0 -0
  731. /data/{ext → dist}/ice/cpp/src/Ice/EndpointIF.h +0 -0
  732. /data/{ext → dist}/ice/cpp/src/Ice/EventHandlerF.h +0 -0
  733. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTable.cpp +0 -0
  734. /data/{ext → dist}/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -0
  735. /data/{ext → dist}/ice/cpp/src/Ice/GCObject.cpp +0 -0
  736. /data/{ext → dist}/ice/cpp/src/Ice/HashUtil.h +0 -0
  737. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.cpp +0 -0
  738. /data/{ext → dist}/ice/cpp/src/Ice/HttpParser.h +0 -0
  739. /data/{ext → dist}/ice/cpp/src/Ice/IPEndpointIF.h +0 -0
  740. /data/{ext → dist}/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -0
  741. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -0
  742. /data/{ext → dist}/ice/cpp/src/Ice/ImplicitContextI.h +0 -0
  743. /data/{ext → dist}/ice/cpp/src/Ice/Incoming.cpp +0 -0
  744. /data/{ext → dist}/ice/cpp/src/Ice/IncomingAsync.cpp +0 -0
  745. /data/{ext → dist}/ice/cpp/src/Ice/IncomingRequest.h +0 -0
  746. /data/{ext → dist}/ice/cpp/src/Ice/Initialize.cpp +0 -0
  747. /data/{ext → dist}/ice/cpp/src/Ice/Instance.h +0 -0
  748. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.cpp +0 -0
  749. /data/{ext → dist}/ice/cpp/src/Ice/InstrumentationI.h +0 -0
  750. /data/{ext → dist}/ice/cpp/src/Ice/LocalObject.cpp +0 -0
  751. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.cpp +0 -0
  752. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfo.h +0 -0
  753. /data/{ext → dist}/ice/cpp/src/Ice/LocatorInfoF.h +0 -0
  754. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -0
  755. /data/{ext → dist}/ice/cpp/src/Ice/LoggerAdminI.h +0 -0
  756. /data/{ext → dist}/ice/cpp/src/Ice/LoggerI.h +0 -0
  757. /data/{ext → dist}/ice/cpp/src/Ice/LoggerUtil.cpp +0 -0
  758. /data/{ext → dist}/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -0
  759. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxy.h +0 -0
  760. /data/{ext → dist}/ice/cpp/src/Ice/NetworkProxyF.h +0 -0
  761. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -0
  762. /data/{ext → dist}/ice/cpp/src/Ice/OSLogLoggerI.h +0 -0
  763. /data/{ext → dist}/ice/cpp/src/Ice/Object.cpp +0 -0
  764. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -0
  765. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -0
  766. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -0
  767. /data/{ext → dist}/ice/cpp/src/Ice/ObjectAdapterI.h +0 -0
  768. /data/{ext → dist}/ice/cpp/src/Ice/ObserverHelper.cpp +0 -0
  769. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -0
  770. /data/{ext → dist}/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -0
  771. /data/{ext → dist}/ice/cpp/src/Ice/OutputStream.cpp +0 -0
  772. /data/{ext → dist}/ice/cpp/src/Ice/PluginManagerI.h +0 -0
  773. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -0
  774. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesAdminI.h +0 -0
  775. /data/{ext → dist}/ice/cpp/src/Ice/PropertiesI.h +0 -0
  776. /data/{ext → dist}/ice/cpp/src/Ice/Protocol.cpp +0 -0
  777. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -0
  778. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstance.h +0 -0
  779. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -0
  780. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -0
  781. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -0
  782. /data/{ext → dist}/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -0
  783. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.cpp +0 -0
  784. /data/{ext → dist}/ice/cpp/src/Ice/ProxyFactory.h +0 -0
  785. /data/{ext → dist}/ice/cpp/src/Ice/Reference.cpp +0 -0
  786. /data/{ext → dist}/ice/cpp/src/Ice/Reference.h +0 -0
  787. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -0
  788. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactory.h +0 -0
  789. /data/{ext → dist}/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -0
  790. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -0
  791. /data/{ext → dist}/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -0
  792. /data/{ext → dist}/ice/cpp/src/Ice/ReplyStatus.h +0 -0
  793. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.cpp +0 -0
  794. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandler.h +0 -0
  795. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -0
  796. /data/{ext → dist}/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -0
  797. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.cpp +0 -0
  798. /data/{ext → dist}/ice/cpp/src/Ice/ResponseHandler.h +0 -0
  799. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.cpp +0 -0
  800. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueue.h +0 -0
  801. /data/{ext → dist}/ice/cpp/src/Ice/RetryQueueF.h +0 -0
  802. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.cpp +0 -0
  803. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfo.h +0 -0
  804. /data/{ext → dist}/ice/cpp/src/Ice/RouterInfoF.h +0 -0
  805. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.cpp +0 -0
  806. /data/{ext → dist}/ice/cpp/src/Ice/ServantManager.h +0 -0
  807. /data/{ext → dist}/ice/cpp/src/Ice/SharedContext.h +0 -0
  808. /data/{ext → dist}/ice/cpp/src/Ice/SliceChecksums.cpp +0 -0
  809. /data/{ext → dist}/ice/cpp/src/Ice/SlicedData.cpp +0 -0
  810. /data/{ext → dist}/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -0
  811. /data/{ext → dist}/ice/cpp/src/Ice/StringUtil.h +0 -0
  812. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.cpp +0 -0
  813. /data/{ext → dist}/ice/cpp/src/Ice/SysLoggerI.h +0 -0
  814. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -0
  815. /data/{ext → dist}/ice/cpp/src/Ice/SystemdJournalI.h +0 -0
  816. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.cpp +0 -0
  817. /data/{ext → dist}/ice/cpp/src/Ice/TcpConnector.h +0 -0
  818. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -0
  819. /data/{ext → dist}/ice/cpp/src/Ice/TcpEndpointI.h +0 -0
  820. /data/{ext → dist}/ice/cpp/src/Ice/Timer.cpp +0 -0
  821. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.cpp +0 -0
  822. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevels.h +0 -0
  823. /data/{ext → dist}/ice/cpp/src/Ice/TraceLevelsF.h +0 -0
  824. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.cpp +0 -0
  825. /data/{ext → dist}/ice/cpp/src/Ice/TraceUtil.h +0 -0
  826. /data/{ext → dist}/ice/cpp/src/Ice/Transceiver.cpp +0 -0
  827. /data/{ext → dist}/ice/cpp/src/Ice/TransceiverF.h +0 -0
  828. /data/{ext → dist}/ice/cpp/src/Ice/UdpConnector.h +0 -0
  829. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -0
  830. /data/{ext → dist}/ice/cpp/src/Ice/UdpEndpointI.h +0 -0
  831. /data/{ext → dist}/ice/cpp/src/Ice/Value.cpp +0 -0
  832. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -0
  833. /data/{ext → dist}/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -0
  834. /data/{ext → dist}/ice/cpp/src/Ice/VirtualShared.h +0 -0
  835. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.cpp +0 -0
  836. /data/{ext → dist}/ice/cpp/src/Ice/WSConnector.h +0 -0
  837. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.cpp +0 -0
  838. /data/{ext → dist}/ice/cpp/src/Ice/WSEndpoint.h +0 -0
  839. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -0
  840. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LocatorI.h +0 -0
  841. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -0
  842. /data/{ext → dist}/ice/cpp/src/IceDiscovery/LookupI.h +0 -0
  843. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -0
  844. /data/{ext → dist}/ice/cpp/src/IceDiscovery/PluginI.h +0 -0
  845. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -0
  846. /data/{ext → dist}/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -0
  847. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.cpp +0 -0
  848. /data/{ext → dist}/ice/cpp/src/IceSSL/CertificateI.h +0 -0
  849. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -0
  850. /data/{ext → dist}/ice/cpp/src/IceSSL/ConnectorI.h +0 -0
  851. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.cpp +0 -0
  852. /data/{ext → dist}/ice/cpp/src/IceSSL/EndpointI.h +0 -0
  853. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.cpp +0 -0
  854. /data/{ext → dist}/ice/cpp/src/IceSSL/Instance.h +0 -0
  855. /data/{ext → dist}/ice/cpp/src/IceSSL/InstanceF.h +0 -0
  856. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -0
  857. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -0
  858. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -0
  859. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -0
  860. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -0
  861. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -0
  862. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -0
  863. /data/{ext → dist}/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -0
  864. /data/{ext → dist}/ice/cpp/src/IceSSL/PluginI.h +0 -0
  865. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.cpp +0 -0
  866. /data/{ext → dist}/ice/cpp/src/IceSSL/RFC2253.h +0 -0
  867. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -0
  868. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -0
  869. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngine.h +0 -0
  870. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -0
  871. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -0
  872. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -0
  873. /data/{ext → dist}/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -0
  874. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -0
  875. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngine.h +0 -0
  876. /data/{ext → dist}/ice/cpp/src/IceSSL/SSLEngineF.h +0 -0
  877. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -0
  878. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -0
  879. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -0
  880. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -0
  881. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -0
  882. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -0
  883. /data/{ext → dist}/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -0
  884. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.cpp +0 -0
  885. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManager.h +0 -0
  886. /data/{ext → dist}/ice/cpp/src/IceSSL/TrustManagerF.h +0 -0
  887. /data/{ext → dist}/ice/cpp/src/IceSSL/Util.h +0 -0
  888. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -0
  889. /data/{ext → dist}/ice/cpp/src/IceUtil/ConvertUTF.h +0 -0
  890. /data/{ext → dist}/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -0
  891. /data/{ext → dist}/ice/cpp/src/IceUtil/InputUtil.cpp +0 -0
  892. /data/{ext → dist}/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -0
  893. /data/{ext → dist}/ice/cpp/src/IceUtil/Options.cpp +0 -0
  894. /data/{ext → dist}/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -0
  895. /data/{ext → dist}/ice/cpp/src/IceUtil/Random.cpp +0 -0
  896. /data/{ext → dist}/ice/cpp/src/IceUtil/Shared.cpp +0 -0
  897. /data/{ext → dist}/ice/cpp/src/IceUtil/ThreadException.cpp +0 -0
  898. /data/{ext → dist}/ice/cpp/src/IceUtil/Time.cpp +0 -0
  899. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.cpp +0 -0
  900. /data/{ext → dist}/ice/cpp/src/IceUtil/Unicode.h +0 -0
  901. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -0
  902. /data/{ext → dist}/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -0
  903. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.cpp +0 -0
  904. /data/{ext → dist}/ice/cpp/src/Slice/Checksum.h +0 -0
  905. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.cpp +0 -0
  906. /data/{ext → dist}/ice/cpp/src/Slice/FileTracker.h +0 -0
  907. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.cpp +0 -0
  908. /data/{ext → dist}/ice/cpp/src/Slice/Grammar.h +0 -0
  909. /data/{ext → dist}/ice/cpp/src/Slice/GrammarUtil.h +0 -0
  910. /data/{ext → dist}/ice/cpp/src/Slice/MD5.cpp +0 -0
  911. /data/{ext → dist}/ice/cpp/src/Slice/MD5.h +0 -0
  912. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.cpp +0 -0
  913. /data/{ext → dist}/ice/cpp/src/Slice/MD5I.h +0 -0
  914. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.cpp +0 -0
  915. /data/{ext → dist}/ice/cpp/src/Slice/PHPUtil.h +0 -0
  916. /data/{ext → dist}/ice/cpp/src/Slice/Parser.cpp +0 -0
  917. /data/{ext → dist}/ice/cpp/src/Slice/Parser.h +0 -0
  918. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.cpp +0 -0
  919. /data/{ext → dist}/ice/cpp/src/Slice/Preprocessor.h +0 -0
  920. /data/{ext → dist}/ice/cpp/src/Slice/Python.cpp +0 -0
  921. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.cpp +0 -0
  922. /data/{ext → dist}/ice/cpp/src/Slice/PythonUtil.h +0 -0
  923. /data/{ext → dist}/ice/cpp/src/Slice/Ruby.cpp +0 -0
  924. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.cpp +0 -0
  925. /data/{ext → dist}/ice/cpp/src/Slice/RubyUtil.h +0 -0
  926. /data/{ext → dist}/ice/cpp/src/Slice/Scanner.cpp +0 -0
  927. /data/{ext → dist}/ice/cpp/src/Slice/SliceUtil.cpp +0 -0
  928. /data/{ext → dist}/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -0
  929. /data/{ext → dist}/ice/cpp/src/Slice/Util.h +0 -0
  930. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  931. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  932. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  933. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  934. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  935. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  936. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  937. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  938. /data/{slice → dist/ice/slice}/Glacier2/Metrics.ice +0 -0
  939. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifier.ice +0 -0
  940. /data/{slice → dist/ice/slice}/Glacier2/PermissionsVerifierF.ice +0 -0
  941. /data/{slice → dist/ice/slice}/Glacier2/Router.ice +0 -0
  942. /data/{slice → dist/ice/slice}/Glacier2/RouterF.ice +0 -0
  943. /data/{slice → dist/ice/slice}/Glacier2/SSLInfo.ice +0 -0
  944. /data/{slice → dist/ice/slice}/Glacier2/Session.ice +0 -0
  945. /data/{slice → dist/ice/slice}/Ice/BuiltinSequences.ice +0 -0
  946. /data/{slice → dist/ice/slice}/Ice/Communicator.ice +0 -0
  947. /data/{slice → dist/ice/slice}/Ice/CommunicatorF.ice +0 -0
  948. /data/{slice → dist/ice/slice}/Ice/ConnectionF.ice +0 -0
  949. /data/{slice → dist/ice/slice}/Ice/Endpoint.ice +0 -0
  950. /data/{slice → dist/ice/slice}/Ice/EndpointF.ice +0 -0
  951. /data/{slice → dist/ice/slice}/Ice/EndpointTypes.ice +0 -0
  952. /data/{slice → dist/ice/slice}/Ice/FacetMap.ice +0 -0
  953. /data/{slice → dist/ice/slice}/Ice/Identity.ice +0 -0
  954. /data/{slice → dist/ice/slice}/Ice/ImplicitContext.ice +0 -0
  955. /data/{slice → dist/ice/slice}/Ice/ImplicitContextF.ice +0 -0
  956. /data/{slice → dist/ice/slice}/Ice/Instrumentation.ice +0 -0
  957. /data/{slice → dist/ice/slice}/Ice/InstrumentationF.ice +0 -0
  958. /data/{slice → dist/ice/slice}/Ice/LocalException.ice +0 -0
  959. /data/{slice → dist/ice/slice}/Ice/LocatorF.ice +0 -0
  960. /data/{slice → dist/ice/slice}/Ice/Logger.ice +0 -0
  961. /data/{slice → dist/ice/slice}/Ice/LoggerF.ice +0 -0
  962. /data/{slice → dist/ice/slice}/Ice/ObjectAdapterF.ice +0 -0
  963. /data/{slice → dist/ice/slice}/Ice/ObjectFactory.ice +0 -0
  964. /data/{slice → dist/ice/slice}/Ice/Plugin.ice +0 -0
  965. /data/{slice → dist/ice/slice}/Ice/PluginF.ice +0 -0
  966. /data/{slice → dist/ice/slice}/Ice/Process.ice +0 -0
  967. /data/{slice → dist/ice/slice}/Ice/ProcessF.ice +0 -0
  968. /data/{slice → dist/ice/slice}/Ice/PropertiesAdmin.ice +0 -0
  969. /data/{slice → dist/ice/slice}/Ice/PropertiesF.ice +0 -0
  970. /data/{slice → dist/ice/slice}/Ice/RemoteLogger.ice +0 -0
  971. /data/{slice → dist/ice/slice}/Ice/RouterF.ice +0 -0
  972. /data/{slice → dist/ice/slice}/Ice/ServantLocator.ice +0 -0
  973. /data/{slice → dist/ice/slice}/Ice/ServantLocatorF.ice +0 -0
  974. /data/{slice → dist/ice/slice}/Ice/SliceChecksumDict.ice +0 -0
  975. /data/{slice → dist/ice/slice}/Ice/ValueFactory.ice +0 -0
  976. /data/{slice → dist/ice/slice}/Ice/Version.ice +0 -0
  977. /data/{slice → dist/ice/slice}/IceBox/IceBox.ice +0 -0
  978. /data/{slice → dist/ice/slice}/IceGrid/Admin.ice +0 -0
  979. /data/{slice → dist/ice/slice}/IceGrid/Descriptor.ice +0 -0
  980. /data/{slice → dist/ice/slice}/IceGrid/Exception.ice +0 -0
  981. /data/{slice → dist/ice/slice}/IceGrid/FileParser.ice +0 -0
  982. /data/{slice → dist/ice/slice}/IceGrid/Registry.ice +0 -0
  983. /data/{slice → dist/ice/slice}/IceGrid/Session.ice +0 -0
  984. /data/{slice → dist/ice/slice}/IceGrid/UserAccountMapper.ice +0 -0
  985. /data/{slice → dist/ice/slice}/IcePatch2/FileInfo.ice +0 -0
  986. /data/{slice → dist/ice/slice}/IcePatch2/FileServer.ice +0 -0
  987. /data/{slice → dist/ice/slice}/IceStorm/Metrics.ice +0 -0
  988. /data/{lib → dist/lib}/Glacier2.rb +0 -0
  989. /data/{lib → dist/lib}/Ice.rb +0 -0
  990. /data/{lib → dist/lib}/IceBox.rb +0 -0
  991. /data/{lib → dist/lib}/IceGrid.rb +0 -0
  992. /data/{lib → dist/lib}/IcePatch2.rb +0 -0
  993. /data/{lib → dist/lib}/IceStorm.rb +0 -0
  994. /data/{bin → scripts}/slice2rb +0 -0
@@ -1,1985 +0,0 @@
1
- /*-
2
- * Copyright (c) 1998, 2002-2008 Kiyoshi Matsui <kmatsui@t3.rim.or.jp>
3
- * All rights reserved.
4
- *
5
- * Some parts of this code are derived from the public domain software
6
- * DECUS cpp (1984,1985) written by Martin Minow.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- * 1. Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
13
- * 2. Redistributions in binary form must reproduce the above copyright
14
- * notice, this list of conditions and the following disclaimer in the
15
- * documentation and/or other materials provided with the distribution.
16
- *
17
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
18
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
21
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
- * SUCH DAMAGE.
28
- */
29
-
30
- /*
31
- * S U P P O R T . C
32
- * S u p p o r t R o u t i n e s
33
- *
34
- * The common routines used by several source files are placed here.
35
- */
36
-
37
- /*
38
- * The following are global functions.
39
- *
40
- * get_unexpandable() Gets the next unexpandable token in the line, expanding
41
- * macros.
42
- * Called from #if, #line and #include processing routines.
43
- * skip_nl() Skips over a line.
44
- * skip_ws() Skips over white spaces but not skip over the end of the line.
45
- * skip_ws() skips also COM_SEP and TOK_SEP.
46
- * scan_token() Reads the next token of any type into the specified output
47
- * pointer, advances the pointer, returns the type of token.
48
- * scan_quote() Reads a string literal, character constant or header-name from
49
- * the input stream, writes out to the specified buffer and
50
- * returns the advanced output pointer.
51
- * get_ch() Reads the next byte from the current input stream, handling
52
- * end of (macro/file) input and embedded comments appropriately.
53
- * unget_ch() Pushs last gotten character back on the input stream.
54
- * unget_string() Pushs sequence on the input stream.
55
- * save_string() Saves a string in malloc() memory.
56
- * get_file() Initializes a new FILEINFO structure, called when #include
57
- * opens a new file, or from unget_string().
58
- * xmalloc() Gets a specified number of bytes from heap memory.
59
- * If malloc() returns NULL, exits with a message.
60
- * xrealloc() realloc(). If it fails, exits with a message.
61
- * get_src_location() Trace back line-column datum into pre-line-splicing
62
- * phase. A function for -K option.
63
- * cfatal(), cerror(), cwarn()
64
- * These routines format print messages to the user.
65
- * mcpp_fputc(), mcpp_fputs(), mcpp_fprintf()
66
- * Wrap library functions to support alternate output to memory
67
- * buffer.
68
- */
69
-
70
- #include "system.H"
71
- #include "internal.H"
72
-
73
- static void scan_id( int c);
74
- /* Scan an identifier */
75
- static char * scan_number( int c, char * out, char * out_end);
76
- /* Scan a preprocessing number */
77
- static char * scan_op( int c, char * out);
78
- /* Scan an operator or a punctuator */
79
- static char * parse_line( void);
80
- /* Parse a logical line and convert comments */
81
- static char * read_a_comment( char * sp, size_t * sizp);
82
- /* Read over a comment */
83
- static char * get_line( int in_comment);
84
- /* Get a logical line from file, handle line-splicing */
85
- static char * at_eof( int in_comment);
86
- /* Check erroneous end of file */
87
- static void do_msg( const char * severity, const char * format
88
- , const char * arg1, long arg2, const char * arg3);
89
- /* Putout diagnostic message */
90
- static void dump_token( int token_type, const char * cp);
91
- /* Dump a token and its type */
92
-
93
- #define EXP_MAC_IND_MAX 16
94
- /* Information of current expanding macros for diagnostic */
95
- static struct {
96
- const char * name; /* Name of the macro just expanded */
97
- int to_be_freed; /* Name should be freed later */
98
- } expanding_macro[ EXP_MAC_IND_MAX];
99
- static int exp_mac_ind = 0; /* Index into expanding_macro[] */
100
-
101
- static int in_token = FALSE; /* For token scanning functions */
102
- static int in_string = FALSE; /* For get_ch() and parse_line()*/
103
- static int squeezews = FALSE;
104
-
105
- #define MAX_CAT_LINE 256
106
- /* Information on line catenated by <backslash><newline> */
107
- /* and by line-crossing comment. This is for -K option. */
108
- typedef struct catenated_line {
109
- long start_line; /* Starting line of catenation */
110
- long last_line; /* Ending line of catanation */
111
- size_t len[ MAX_CAT_LINE + 1];
112
- /* Length of successively catenated lines */
113
- } CAT_LINE;
114
- static CAT_LINE bsl_cat_line;
115
- /* Datum on the last catenated line by <backslash><newline> */
116
- static CAT_LINE com_cat_line;
117
- /* Datum on the last catenated line by a line-crossing comment */
118
-
119
- static int use_mem_buffers = FALSE;
120
-
121
- void init_support( void)
122
- {
123
- in_token = in_string = squeezews = FALSE;
124
- bsl_cat_line.len[ 0] = com_cat_line.len[ 0] = 0;
125
- clear_exp_mac();
126
- }
127
-
128
- typedef struct mem_buf {
129
- char * buffer;
130
- char * entry_pt;
131
- size_t size;
132
- size_t bytes_avail;
133
- } MEMBUF;
134
-
135
- static MEMBUF mem_buffers[ NUM_OUTDEST];
136
-
137
- void mcpp_use_mem_buffers(
138
- int tf
139
- )
140
- {
141
- int i;
142
-
143
- use_mem_buffers = tf ? TRUE : FALSE;
144
-
145
- for (i = 0; i < NUM_OUTDEST; ++i) {
146
- if (mem_buffers[ i].buffer)
147
- /* Free previously allocated memory buffer */
148
- free( mem_buffers[ i].buffer);
149
- if (use_mem_buffers) {
150
- /* Output to memory buffers instead of files */
151
- mem_buffers[ i].buffer = NULL;
152
- mem_buffers[ i].entry_pt = NULL;
153
- mem_buffers[ i].size = 0;
154
- mem_buffers[ i].bytes_avail = 0;
155
- }
156
- }
157
- }
158
-
159
- #define BUF_INCR_SIZE (NWORK * 2)
160
- #define MAX( a, b) (((a) > (b)) ? (a) : (b))
161
-
162
- static char * append_to_buffer(
163
- MEMBUF * mem_buf_p,
164
- const char * string,
165
- size_t length
166
- )
167
- {
168
- if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */
169
- size_t size = MAX( BUF_INCR_SIZE, length);
170
-
171
- if (mem_buf_p->buffer == NULL) { /* 1st append */
172
- mem_buf_p->size = size;
173
- mem_buf_p->bytes_avail = size;
174
- mem_buf_p->buffer = xmalloc( mem_buf_p->size);
175
- mem_buf_p->entry_pt = mem_buf_p->buffer;
176
- } else {
177
- mem_buf_p->size += size;
178
- mem_buf_p->bytes_avail += size;
179
- mem_buf_p->buffer = xrealloc( mem_buf_p->buffer, mem_buf_p->size);
180
- mem_buf_p->entry_pt = mem_buf_p->buffer + mem_buf_p->size
181
- - mem_buf_p->bytes_avail;
182
- }
183
- }
184
-
185
- /* Append the string to the tail of the buffer */
186
- memcpy( mem_buf_p->entry_pt, string, length);
187
- mem_buf_p->entry_pt += length;
188
- mem_buf_p->entry_pt[ 0] = '\0'; /* Terminate the string buffer */
189
- mem_buf_p->bytes_avail -= length;
190
-
191
- return mem_buf_p->buffer;
192
- }
193
-
194
- static int mem_putc(
195
- int c,
196
- OUTDEST od
197
- )
198
- {
199
- char string[ 1];
200
-
201
- string[ 0] = (char) c;
202
-
203
- if (append_to_buffer( &(mem_buffers[ od]), string, 1) != NULL)
204
- return 0;
205
- else
206
- return !0;
207
- }
208
-
209
- static int mem_puts(
210
- const char * s,
211
- OUTDEST od
212
- )
213
- {
214
- if (append_to_buffer( &(mem_buffers[od]), s, strlen(s)) != NULL)
215
- return 0;
216
- else
217
- return !0;
218
- }
219
-
220
- char * mcpp_get_mem_buffer(
221
- OUTDEST od
222
- )
223
- {
224
- return mem_buffers[ od].buffer;
225
- }
226
-
227
-
228
- #define DEST2FP(od) \
229
- (od == OUT) ? fp_out : \
230
- ((od == ERR) ? fp_err : \
231
- ((od == DBG) ? fp_debug : \
232
- (NULL)))
233
-
234
- /*
235
- * The following mcpp_*() wrapper functions are intended to centralize
236
- * the output generated by MCPP. They support memory buffer alternates to
237
- * each of the primary output streams: out, err, debug. The memory buffer
238
- * output option would be used in a setup where MCPP has been built as a
239
- * function call - i.e. mcpp_lib_main().
240
- */
241
-
242
- int mcpp_lib_fputc(
243
- int c,
244
- OUTDEST od
245
- )
246
- {
247
- if (use_mem_buffers) {
248
- return mem_putc( c, od);
249
- } else {
250
- FILE * stream = DEST2FP( od);
251
-
252
- return (stream != NULL) ? fputc( c, stream) : EOF;
253
- }
254
- }
255
-
256
- int (* mcpp_fputc)( int c, OUTDEST od) = mcpp_lib_fputc;
257
-
258
- int mcpp_lib_fputs(
259
- const char * s,
260
- OUTDEST od
261
- )
262
- {
263
- if (use_mem_buffers) {
264
- return mem_puts( s, od);
265
- } else {
266
- FILE * stream = DEST2FP( od);
267
-
268
- return (stream != NULL) ? fputs( s, stream) : EOF;
269
- }
270
- }
271
-
272
- int (* mcpp_fputs)( const char * s, OUTDEST od) = mcpp_lib_fputs;
273
-
274
- #include <stdarg.h>
275
-
276
- int mcpp_lib_fprintf(
277
- OUTDEST od,
278
- const char * format,
279
- ...
280
- )
281
- {
282
- va_list ap;
283
- FILE * stream = DEST2FP( od);
284
-
285
- if (stream != NULL) {
286
- int rc;
287
-
288
- va_start( ap, format);
289
- if (use_mem_buffers) {
290
- static char mem_buffer[ NWORK];
291
-
292
- rc = vsprintf( mem_buffer, format, ap);
293
-
294
- if (rc != 0) {
295
- rc = mem_puts( mem_buffer, od);
296
- }
297
- } else {
298
- rc = vfprintf( stream, format, ap);
299
- }
300
- va_end( ap);
301
-
302
- return rc;
303
-
304
- } else {
305
- return EOF;
306
- }
307
- }
308
-
309
- int (* mcpp_fprintf)( OUTDEST od, const char * format, ...) = mcpp_lib_fprintf;
310
-
311
- void mcpp_reset_def_out_func( void)
312
- {
313
- mcpp_fputc = mcpp_lib_fputc;
314
- mcpp_fputs = mcpp_lib_fputs;
315
- mcpp_fprintf = mcpp_lib_fprintf;
316
- }
317
-
318
- void mcpp_set_out_func(
319
- int (* func_fputc)( int c, OUTDEST od),
320
- int (* func_fputs)( const char * s, OUTDEST od),
321
- int (* func_fprintf)( OUTDEST od, const char * format, ...)
322
- )
323
- {
324
- mcpp_fputc = func_fputc;
325
- mcpp_fputs = func_fputs;
326
- mcpp_fprintf = func_fprintf;
327
- }
328
-
329
- int get_unexpandable(
330
- int c, /* First char of token */
331
- int diag /* Flag of diagnosis */
332
- )
333
- /*
334
- * Get the next unexpandable token in the line, expanding macros.
335
- * Return the token type. The token is written in work_buf[].
336
- * The once expanded macro is never expanded again.
337
- * Called only from the routines processing #if (#elif, #assert), #line and
338
- * #include directives in order to diagnose some subtle macro expansions.
339
- */
340
- {
341
- DEFBUF * defp = NULL;
342
- FILEINFO * file;
343
- FILE * fp = NULL;
344
- LINE_COL line_col = { 0L, 0};
345
- int token_type = NO_TOKEN;
346
- int has_pragma;
347
-
348
- while (c != EOS && c != '\n' /* In a line */
349
- && (fp = infile->fp /* Preserve current state */
350
- , (token_type
351
- = scan_token( c, (workp = work_buf, &workp), work_end))
352
- == NAM) /* Identifier */
353
- && fp != NULL /* In source ! */
354
- && (defp = is_macro( NULL)) != NULL) { /* Macro */
355
- expand_macro( defp, work_buf, work_end, line_col, & has_pragma);
356
- /* Expand macro */
357
- if (has_pragma)
358
- cerror( "_Pragma operator found in directive line" /* _E_ */
359
- , NULL, 0L, NULL);
360
- file = unget_string( work_buf, defp->name); /* Stack to re-read */
361
- c = skip_ws(); /* Skip TOK_SEP */
362
- if (file != infile && macro_line != MACRO_ERROR && (warn_level & 1)) {
363
- /* This diagnostic is issued even if "diag" is FALSE. */
364
- cwarn( "Macro \"%s\" is expanded to 0 token" /* _W1_ */
365
- , defp->name, 0L, NULL);
366
- dump_a_def( " macro", defp, FALSE, TRUE, fp_err);
367
- }
368
- }
369
-
370
- if (c == '\n' || c == EOS) {
371
- unget_ch();
372
- return NO_TOKEN;
373
- }
374
-
375
- if (diag && fp == NULL && defp && (warn_level & 1)) {
376
- char tmp[ NWORK + 16];
377
- char * tmp_end = tmp + NWORK;
378
- char * tmp_p;
379
- file = unget_string( infile->buffer, defp->name); /* To diagnose */
380
- c = get_ch();
381
- while (file == infile) { /* Search the expanded macro */
382
- if (scan_token( c, (tmp_p = tmp, &tmp_p), tmp_end) != NAM) {
383
- c = get_ch();
384
- continue;
385
- }
386
- if (str_eq( identifier, "defined")) {
387
- cwarn( "Macro \"%s\" is expanded to \"defined\"" /* _W1_ */
388
- , defp->name, 0L, NULL);
389
- break;
390
- }
391
- c = get_ch();
392
- }
393
- if (file == infile) {
394
- infile->bptr += strlen( infile->bptr);
395
- get_ch();
396
- }
397
- unget_ch();
398
- if (token_type == OPE) {
399
- unget_string( work_buf, NULL); /* Set again 'openum' */
400
- scan_token( get_ch(), (workp = work_buf, &workp), work_end);
401
- }
402
- }
403
-
404
- return token_type;
405
- }
406
-
407
- void skip_nl( void)
408
- /*
409
- * Skip to the end of the current input line.
410
- */
411
- {
412
- insert_sep = NO_SEP;
413
- while (infile && infile->fp == NULL) { /* Stacked text */
414
- infile->bptr += strlen( infile->bptr);
415
- get_ch(); /* To the parent */
416
- }
417
- if (infile)
418
- infile->bptr += strlen( infile->bptr); /* Source line */
419
- }
420
-
421
- int skip_ws( void)
422
- /*
423
- * Skip over horizontal whitespaces.
424
- */
425
- {
426
- int c;
427
-
428
- do {
429
- c = get_ch();
430
- } while (char_type[ c] & HSP);
431
-
432
- return c;
433
- }
434
-
435
- #define MBMASK 0xFF /* Mask to hide multibyte char */
436
-
437
- int scan_token(
438
- int c, /* The first character of the token */
439
- char ** out_pp, /* Pointer to pointer to output buf */
440
- char * out_end /* End of output buffer */
441
- )
442
- /*
443
- * Scan the next token of any type.
444
- * The token is written out to the specified buffer and the output pointer
445
- * is advanced. Token is terminated by EOS. Return the type of token.
446
- * If the token is an identifier, the token is also in identifier[].
447
- * If the token is a operator or punctuator, return OPE.
448
- * If 'c' is token separator, then return SEP.
449
- * If 'c' is not the first character of any known token and not a token
450
- * separator, return SPE.
451
- * In POST_STD mode, inserts token separator (a space) between any tokens of
452
- * source.
453
- */
454
- {
455
- char * out = *out_pp; /* Output pointer */
456
- int ch_type; /* Type of character */
457
- int token_type = 0; /* Type of token */
458
- int ch;
459
-
460
- in_token = TRUE; /* While a token is scanned */
461
- c = c & UCHARMAX;
462
- ch_type = char_type[ c] & MBMASK;
463
-
464
- switch (ch_type) {
465
- case LET: /* Probably an identifier */
466
- switch (c) {
467
- case 'L':
468
- ch = get_ch();
469
- if (char_type[ ch] & QUO) { /* char_type[ ch] == QUO */
470
- if (ch == '"')
471
- token_type = WSTR; /* Wide-char string literal */
472
- else
473
- token_type = WCHR; /* Wide-char constant */
474
- c = ch;
475
- *out++ = 'L';
476
- break; /* Fall down to "case QUO:" */
477
- } else {
478
- unget_ch();
479
- } /* Fall through */
480
- default: /* An identifier */
481
- scan_id( c);
482
- out = stpcpy( out, identifier);
483
- token_type = NAM;
484
- break;
485
- }
486
- if (token_type == NAM)
487
- break;
488
- /* Else fall through -- i.e. WSTR, WCHR */
489
- case QUO: /* String or character constant */
490
- out = scan_quote( c, out, out_end, FALSE);
491
- if (token_type == 0) { /* Without prefix L */
492
- if (c == '"')
493
- token_type = STR;
494
- else
495
- token_type = CHR;
496
- } /* Else WSTR or WCHR */
497
- break;
498
- case DOT:
499
- ch = get_ch();
500
- unget_ch();
501
- if ((char_type[ ch] & DIG) == 0) /* Operator '.' or '...' */
502
- goto operat;
503
- /* Else fall through */
504
- case DIG: /* Preprocessing number */
505
- out = scan_number( c, out, out_end);
506
- token_type = NUM;
507
- break;
508
- case PUNC:
509
- operat: out = scan_op( c, out); /* Operator or punctuator */
510
- token_type = OPE; /* Number is set in global "openum" */
511
- break;
512
- default: /* Special tokens or special characters */
513
- if (((c == CAT || c == ST_QUOTE)) || (char_type[ c] & SPA))
514
- token_type = SEP; /* Token separator or magic char*/
515
- else
516
- token_type = SPE;
517
- /* Unkown token ($, @, multi-byte character or Latin */
518
- *out++ = c;
519
- *out = EOS;
520
- break;
521
- }
522
-
523
- if (out_end < out)
524
- cfatal( "Buffer overflow scanning token \"%s\"" /* _F_ */
525
- , *out_pp, 0L, NULL);
526
- if (mcpp_debug & TOKEN)
527
- dump_token( token_type, *out_pp);
528
- *out_pp = out;
529
-
530
- in_token = FALSE; /* Token scanning has been done */
531
- return token_type;
532
- }
533
-
534
- static void scan_id(
535
- int c /* First char of id */
536
- )
537
- /*
538
- * Reads the next identifier and put it into identifier[].
539
- * The caller has already read the first character of the identifier.
540
- */
541
- {
542
- static char * const limit = &identifier[ IDMAX];
543
- size_t len; /* Length of identifier */
544
- char * bp = identifier;
545
-
546
- if (c == IN_SRC) { /* Magic character */
547
- *bp++ = c;
548
- if ((mcpp_debug & MACRO_CALL) && ! in_directive) {
549
- *bp++ = get_ch(); /* Its 2-bytes */
550
- *bp++ = get_ch(); /* argument */
551
- }
552
- c = get_ch();
553
- }
554
-
555
- do {
556
- if (bp < limit)
557
- *bp++ = c;
558
-
559
- c = get_ch();
560
- } while ((char_type[ c] & (LET | DIG)) /* Letter or digit */
561
- );
562
-
563
- unget_ch();
564
- *bp = EOS;
565
-
566
- if (bp >= limit && (warn_level & 1)) /* Limit of token */
567
- cwarn( "Too long identifier truncated to \"%s\"" /* _W1_ */
568
- , identifier, 0L, NULL);
569
-
570
- len = bp - identifier;
571
- #if IDMAX > IDLEN90MIN
572
- /* UCN16, UCN32, MBCHAR are counted as one character for each. */
573
- if (infile->fp && len > std_limits.id_len && (warn_level & 4))
574
- cwarn( "Identifier longer than %.0s%ld characters \"%s\"" /* _W4_ */
575
- , NULL, (long) std_limits.id_len, identifier);
576
- #endif /* IDMAX > IDLEN90MIN */
577
- }
578
-
579
- char * scan_quote(
580
- int delim, /* ', " or < (header-name) */
581
- char * out, /* Output buffer */
582
- char * out_end, /* End of output buffer */
583
- int diag /* Diagnostic should be output */
584
- )
585
- /*
586
- * Scan off a string literal or character constant to the output buffer.
587
- * Report diagnosis if the quotation is terminated by newline or character
588
- * constant is empty (provided 'diag' is TRUE).
589
- * Return the next output pointer or NULL (on error).
590
- */
591
- {
592
- const char * const skip_line = ", skipped the line"; /* _E_ */
593
- const char * const unterm_string
594
- = "Unterminated string literal%s";
595
- const char * const unterm_char
596
- = "Unterminated character constant %s%.0ld%s";
597
- const char * const empty_const
598
- = "Empty character constant %s%.0ld%s";
599
- const char * skip;
600
- size_t len;
601
- int c;
602
- char * out_p = out;
603
-
604
- /* Set again in case of called from routines other than scan_token(). */
605
- in_token = TRUE;
606
- *out_p++ = delim;
607
- if (delim == '<')
608
- delim = '>';
609
-
610
- while ((c = get_ch()) != EOS) {
611
-
612
- #if MBCHAR
613
- if (char_type[ c] & mbchk) {
614
- /* First of multi-byte character (or shift-sequence) */
615
- char * bptr = infile->bptr;
616
- len = mb_read( c, &infile->bptr, (*out_p++ = c, &out_p));
617
- if (len & MB_ERROR) {
618
- if (infile->fp != NULL && compiling && diag) {
619
- if (warn_level & 1) {
620
- char * buf;
621
- size_t chlen;
622
- buf = xmalloc( chlen = infile->bptr - bptr + 2);
623
- memcpy( buf, bptr, chlen - 1);
624
- buf[ chlen - 1] = EOS;
625
- cwarn(
626
- "Illegal multi-byte character sequence \"%s\" in quotation", /* _W1_ */
627
- buf, 0L, NULL);
628
- free( buf);
629
- }
630
- }
631
- continue;
632
- } else { /* Valid multi-byte character (or sequence) */
633
- goto chk_limit;
634
- }
635
- }
636
- #endif
637
- if (c == delim) {
638
- break;
639
- } else if (c == '\\' && delim != '>') { /* In string literal */
640
- *out_p++ = c; /* Escape sequence */
641
- c = get_ch();
642
- #if MBCHAR
643
- if (char_type[ c] & mbchk) {
644
- /* '\\' followed by multi-byte char */
645
- unget_ch();
646
- continue;
647
- }
648
- #endif
649
- } else if (c == '\n') {
650
- break;
651
- }
652
- if (diag && iscntrl( c) && ((char_type[ c] & SPA) == 0)
653
- && (warn_level & 1))
654
- cwarn(
655
- "Illegal control character %.0s0lx%02x in quotation" /* _W1_ */
656
- , NULL, (long) c, NULL);
657
- *out_p++ = c;
658
- chk_limit:
659
- if (out_end < out_p) {
660
- *out_end = EOS;
661
- cfatal( "Too long quotation", NULL, 0L, NULL); /* _F_ */
662
- }
663
- }
664
-
665
- if (c == '\n' || c == EOS)
666
- unget_ch();
667
- if (c == delim)
668
- *out_p++ = delim;
669
- *out_p = EOS;
670
- if (diag) { /* At translation phase 3 */
671
- skip = (infile->fp == NULL) ? NULL : skip_line;
672
- if (c != delim) {
673
- if (delim == '"') {
674
- cerror( unterm_string, skip, 0L, NULL); /* _E_ */
675
- } else if (delim == '\'') {
676
- cerror( unterm_char, out, 0L, skip); /* _E_ */
677
- } else {
678
- cerror( "Unterminated header name %s%.0ld%s" /* _E_ */
679
- , out, 0L, skip);
680
- }
681
- out_p = NULL;
682
- } else if (delim == '\'' && out_p - out <= 2) {
683
- cerror( empty_const, out, 0L, skip); /* _E_ */
684
- out_p = NULL;
685
- goto done;
686
- }
687
- #if NWORK-2 > SLEN90MIN
688
- if (out_p - out > std_limits.str_len && (warn_level & 4))
689
- cwarn( "Quotation longer than %.0s%ld bytes" /* _W4_ */
690
- , NULL, std_limits.str_len, NULL);
691
- #endif
692
- }
693
-
694
- done:
695
- in_token = FALSE;
696
- return out_p;
697
- }
698
-
699
- static char * scan_number(
700
- int c, /* First char of number */
701
- char * out, /* Output buffer */
702
- char * out_end /* Limit of output buffer */
703
- )
704
- /*
705
- * Read a preprocessing number.
706
- * By scan_token() we know already that the first c is from 0 to 9 or dot,
707
- * and if c is dot then the second character is digit.
708
- * Returns the advanced output pointer.
709
- * Note: preprocessing number permits non-numeric forms such as 3E+xy,
710
- * which are used in stringization or token-concatenation.
711
- */
712
- {
713
- char * out_p = out; /* Current output pointer */
714
-
715
- do {
716
- *out_p++ = c;
717
- if (c == 'E' || c == 'e' /* Sign should follow 'E', 'e', */
718
- ) {
719
- c = get_ch();
720
- if (c == '+' || c == '-') {
721
- *out_p++ = c;
722
- c = get_ch();
723
- }
724
- } else {
725
- c = get_ch();
726
- }
727
- } while ((char_type[ c] & (DIG | DOT | LET)) /* Digit, dot or letter */
728
- );
729
-
730
- *out_p = EOS;
731
- if (out_end < out_p)
732
- cfatal( "Too long pp-number token \"%s\"" /* _F_ */
733
- , out, 0L, NULL);
734
- unget_ch();
735
- return out_p;
736
- }
737
-
738
- static char * scan_op(
739
- int c, /* First char of the token */
740
- char * out /* Output buffer */
741
- )
742
- /*
743
- * Scan C operator or punctuator into the specified buffer.
744
- * Return the advanced output pointer.
745
- * The code-number of the operator is stored to global variable 'openum'.
746
- * Note: '#' is not an operator nor a punctuator in other than directive line,
747
- * nevertheless is handled as a punctuator in this cpp for convenience.
748
- */
749
- {
750
- int c2, c3;
751
-
752
- *out++ = c;
753
-
754
- switch (c) {
755
- case '~': openum = OP_COM; break;
756
- case '(': openum = OP_LPA; break;
757
- case ')': openum = OP_RPA; break;
758
- case '?': openum = OP_QUE; break;
759
- case ';': case '[': case ']': case '{':
760
- case '}': case ',':
761
- openum = OP_1;
762
- break;
763
- default:
764
- openum = OP_2; /* Tentative guess */
765
- }
766
-
767
- if (openum != OP_2) { /* Single byte operators */
768
- *out = EOS;
769
- return out;
770
- }
771
-
772
- c2 = get_ch(); /* Possibly two bytes ops */
773
- *out++ = c2;
774
-
775
- switch (c) {
776
- case '=':
777
- openum = ((c2 == '=') ? OP_EQ : OP_1); /* ==, = */
778
- break;
779
- case '!':
780
- openum = ((c2 == '=') ? OP_NE : OP_NOT); /* !=, ! */
781
- break;
782
- case '&':
783
- switch (c2) {
784
- case '&': openum = OP_ANA; break; /* && */
785
- case '=': /* openum = OP_2; */ break; /* &= */
786
- default : openum = OP_AND; break; /* & */
787
- }
788
- break;
789
- case '|':
790
- switch (c2) {
791
- case '|': openum = OP_ORO; break; /* || */
792
- case '=': /* openum = OP_2; */ break; /* |= */
793
- default : openum = OP_OR; break; /* | */
794
- }
795
- break;
796
- case '<':
797
- switch (c2) {
798
- case '<': c3 = get_ch();
799
- if (c3 == '=') {
800
- openum = OP_3; /* <<= */
801
- *out++ = c3;
802
- } else {
803
- openum = OP_SL; /* << */
804
- unget_ch();
805
- }
806
- break;
807
- case '=': openum = OP_LE; break; /* <= */
808
- case ':': /* <: i.e. [ */
809
- openum = OP_LT;
810
- break;
811
- case '%': /* <% i.e. { */
812
- openum = OP_LT;
813
- break;
814
- default : openum = OP_LT; break; /* < */
815
- }
816
- break;
817
- case '>':
818
- switch (c2) {
819
- case '>': c3 = get_ch();
820
- if (c3 == '=') {
821
- openum = OP_3; /* >>= */
822
- *out++ = c3;
823
- } else {
824
- openum = OP_SR; /* >> */
825
- unget_ch();
826
- }
827
- break;
828
- case '=': openum = OP_GE; break; /* >= */
829
- default : openum = OP_GT; break; /* > */
830
- }
831
- break;
832
- case '#':
833
- if ((in_define || macro_line)) /* in #define or macro */
834
- openum = ((c2 == '#') ? OP_CAT : OP_STR); /* ##, # */
835
- else
836
- openum = OP_1; /* # */
837
- break;
838
- case '+':
839
- switch (c2) {
840
- case '+': /* ++ */
841
- case '=': /* openum = OP_2; */ break; /* += */
842
- default : openum = OP_ADD; break; /* + */
843
- }
844
- break;
845
- case '-':
846
- switch (c2) {
847
- case '-': /* -- */
848
- case '=': /* -= */
849
- /* openum = OP_2; */
850
- break;
851
- case '>':
852
- /* else openum = OP_2; */ /* -> */
853
- /* else openum = OP_2; */
854
- break;
855
- default : openum = OP_SUB; break; /* - */
856
- }
857
- break;
858
- case '%':
859
- switch (c2) {
860
- case '=': break; /* %= */
861
- case '>': /* %> i.e. } */
862
- openum = OP_MOD;
863
- break;
864
- case ':':
865
- openum = OP_MOD;
866
- break;
867
- default : openum = OP_MOD; break; /* % */
868
- }
869
- break;
870
- case '*':
871
- if (c2 != '=') /* * */
872
- openum = OP_MUL;
873
- /* else openum = OP_2; */ /* *= */
874
- break;
875
- case '/':
876
- if (c2 != '=') /* / */
877
- openum = OP_DIV;
878
- /* else openum = OP_2; */ /* /= */
879
- break;
880
- case '^':
881
- if (c2 != '=') /* ^ */
882
- openum = OP_XOR;
883
- /* else openum = OP_2; */ /* ^= */
884
- break;
885
- case '.':
886
- if (c2 == '.') {
887
- c3 = get_ch();
888
- if (c3 == '.') {
889
- openum = OP_ELL; /* ... */
890
- *out++ = c3;
891
- break;
892
- } else {
893
- unget_ch();
894
- openum = OP_1;
895
- }
896
- } else { /* . */
897
- openum = OP_1;
898
- }
899
- break;
900
- case ':':
901
- openum = OP_COL;
902
- break;
903
- default: /* Never reach here */
904
- cfatal( "Bug: Punctuator is mis-implemented %.0s0lx%x" /* _F_ */
905
- , NULL, (long) c, NULL);
906
- openum = OP_1;
907
- break;
908
- }
909
-
910
- switch (openum) {
911
- case OP_STR:
912
- if (c == '%') break; /* %: */
913
- case OP_1:
914
- case OP_NOT: case OP_AND: case OP_OR: case OP_LT:
915
- case OP_GT: case OP_ADD: case OP_SUB: case OP_MOD:
916
- case OP_MUL: case OP_DIV: case OP_XOR: case OP_COM:
917
- case OP_COL: /* Any single byte operator or punctuator */
918
- unget_ch();
919
- out--;
920
- break;
921
- default: /* Two or more bytes operators or punctuators */
922
- break;
923
- }
924
-
925
- *out = EOS;
926
- return out;
927
- }
928
-
929
- void expanding(
930
- const char * name, /* The name of (nested) macro just expanded. */
931
- int to_be_freed /* The name should be freed later. */
932
- )
933
- /*
934
- * Remember used macro name for diagnostic.
935
- */
936
- {
937
- if (exp_mac_ind < EXP_MAC_IND_MAX - 1) {
938
- exp_mac_ind++;
939
- } else {
940
- clear_exp_mac();
941
- exp_mac_ind++;
942
- }
943
- expanding_macro[ exp_mac_ind].name = name;
944
- expanding_macro[ exp_mac_ind].to_be_freed = to_be_freed;
945
- }
946
-
947
- void clear_exp_mac( void)
948
- /*
949
- * Initialize expanding_macro[] freeing names registered in
950
- * name_to_be_freed[].
951
- */
952
- {
953
- int i;
954
-
955
- for (i = 1; i < EXP_MAC_IND_MAX; i++) {
956
- if (expanding_macro[ i].to_be_freed) {
957
- free( (void *) expanding_macro[ i].name);
958
- expanding_macro[ i].to_be_freed = FALSE;
959
- }
960
- }
961
- exp_mac_ind = 0;
962
- }
963
-
964
- int get_ch( void)
965
- /*
966
- * Return the next character from a macro or the current file.
967
- * Always return the value representable by unsigned char.
968
- */
969
- {
970
- int len;
971
- int c;
972
- FILEINFO * file;
973
-
974
- /*
975
- * 'in_token' is set to TRUE while scan_token() is executed (and
976
- * scan_id(), scan_quote(), scan_number(), scan_ucn() and scan_op()
977
- * via scan_token()) in Standard mode to simplify tokenization.
978
- * Any token cannot cross "file"s.
979
- */
980
- if (in_token)
981
- return (*infile->bptr++ & UCHARMAX);
982
-
983
- if ((file = infile) == NULL)
984
- return CHAR_EOF; /* End of all input */
985
-
986
- if (mcpp_debug & GETC) {
987
- mcpp_fprintf( DBG, "get_ch(%s) '%c' line %ld, bptr = %d, buffer"
988
- , file->fp ? cur_fullname : file->real_fname ? file->real_fname
989
- : file->filename ? file->filename : "NULL"
990
- , *file->bptr & UCHARMAX
991
- , src_line, (int) (file->bptr - file->buffer));
992
- dump_string( NULL, file->buffer);
993
- dump_unget( "get entrance");
994
- }
995
-
996
- /*
997
- * Read a character from the current input logical line or macro.
998
- * At EOS, either finish the current macro (freeing temporary storage)
999
- * or get another logical line by parse_line().
1000
- * At EOF, exit the current file (#included) or, at EOF from the MCPP input
1001
- * file, return CHAR_EOF to finish processing.
1002
- * The character is converted to int with no sign-extension.
1003
- */
1004
- if ((c = (*file->bptr++ & UCHARMAX)) != EOS) {
1005
- return c; /* Just a character */
1006
- }
1007
-
1008
- /*
1009
- * Nothing in current line or macro. Get next line (if input from a
1010
- * file), or do end of file/macro processing, and reenter get_ch() to
1011
- * restart from the top.
1012
- */
1013
- if (file->fp && /* In source file */
1014
- parse_line() != NULL) /* Get line from file */
1015
- return get_ch();
1016
- /*
1017
- * Free up space used by the (finished) file or macro and restart
1018
- * input from the parent file/macro, if any.
1019
- */
1020
- infile = file->parent; /* Unwind file chain */
1021
- free( file->buffer); /* Free buffer */
1022
- if (infile == NULL) { /* If at end of input */
1023
- free( file->filename);
1024
- free( file->src_dir);
1025
- free( file); /* full_fname is the same with filename for main file*/
1026
- return CHAR_EOF; /* Return end of file */
1027
- }
1028
- if (file->fp) { /* Source file included */
1029
- free( file->filename); /* Free filename */
1030
- free( file->src_dir); /* Free src_dir */
1031
- fclose( file->fp); /* Close finished file */
1032
- /* Do not free file->real_fname and file->full_fname */
1033
- cur_fullname = infile->full_fname;
1034
- cur_fname = infile->real_fname; /* Restore current fname*/
1035
- if (infile->pos != 0L) { /* Includer was closed */
1036
- infile->fp = mcpp_fopen( cur_fullname, "r");
1037
- fseek( infile->fp, infile->pos, SEEK_SET);
1038
- } /* Re-open the includer and restore the file-position */
1039
- len = (int) (infile->bptr - infile->buffer);
1040
- infile->buffer = xrealloc( infile->buffer, NBUFF);
1041
- /* Restore full size buffer to get the next line */
1042
- infile->bptr = infile->buffer + len;
1043
- src_line = infile->line; /* Reset line number */
1044
- inc_dirp = infile->dirp; /* Includer's directory */
1045
- mcpp_set_out_func( infile->last_fputc, infile->last_fputs,
1046
- infile->last_fprintf);
1047
- include_nest--;
1048
- src_line++; /* Next line to #include*/
1049
- sharp( NULL, infile->include_opt ? 1 : (file->include_opt ? 0 : 2));
1050
- /* Need a #line now. Marker depends on include_opt. */
1051
- /* The file of include_opt should be marked as 1. */
1052
- /* Else if returned from include_opt file, it is the */
1053
- /* main input file, and should not be marked. */
1054
- /* Else, it is normal includer file, and marked as 2. */
1055
- src_line--;
1056
- newlines = 0; /* Clear the blank lines*/
1057
- if (mcpp_debug & MACRO_CALL) /* Should be re-initialized */
1058
- com_cat_line.last_line = bsl_cat_line.last_line = 0L;
1059
- } else if (file->filename) { /* Expanding macro */
1060
- if (macro_name) /* file->filename should be freed later */
1061
- expanding( file->filename, TRUE);
1062
- else
1063
- free( file->filename);
1064
- }
1065
- free( file); /* Free file space */
1066
- return get_ch(); /* Get from the parent */
1067
- }
1068
-
1069
- static char * parse_line( void)
1070
- /*
1071
- * ANSI (ISO) C: translation phase 3.
1072
- * Parse a logical line.
1073
- * Check illegal control characters.
1074
- * Check unterminated string literal, character constant or comment.
1075
- * Convert each comment to one space (or spaces of the comment length on
1076
- * 'keep_spaces' mode)..
1077
- * Squeeze succeding white spaces other than <newline> (including comments) to
1078
- * one space (unless keep_spaces == TRUE).
1079
- * The lines might be spliced by comments which cross the lines.
1080
- */
1081
- {
1082
- char * temp; /* Temporary buffer */
1083
- char * limit; /* Buffer end */
1084
- char * tp; /* Current pointer into temporary buffer */
1085
- char * sp; /* Pointer into input buffer */
1086
- size_t com_size;
1087
- int c;
1088
-
1089
- if ((sp = get_line( FALSE)) == NULL) /* Next logical line */
1090
- return NULL; /* End of a file */
1091
- tp = temp = xmalloc( (size_t) NBUFF);
1092
- limit = temp + NBUFF - 2;
1093
-
1094
- while (char_type[ c = *sp++ & UCHARMAX] & HSP) {
1095
- /* Preserve line top horizontal white spaces */
1096
- /* as they are for human-readability */
1097
- *tp++ = c;
1098
- }
1099
- sp--;
1100
-
1101
- while ((c = *sp++ & UCHARMAX) != '\n') {
1102
-
1103
- switch (c) {
1104
- case '/':
1105
- switch (*sp++) {
1106
- case '*': /* Start of a comment */
1107
- if ((sp = read_a_comment( sp, &com_size)) == NULL) {
1108
- free( temp); /* End of file with un- */
1109
- return NULL; /* terminated comment */
1110
- }
1111
- if (temp == tp ||
1112
- ! (char_type[ *(tp - 1) & UCHARMAX] & HSP))
1113
- *tp++ = ' '; /* Squeeze white spaces */
1114
- break;
1115
- case '/': /* // */
1116
- /* Comment when C++ or __STDC_VERSION__ >= 199901L */
1117
- /* Need not to convert to a space because '\n' follows */
1118
- if ((warn_level & 2))
1119
- cwarn( "Parsed \"//\" as comment" /* _W2_ */
1120
- , NULL, 0L, NULL);
1121
- if (keep_comments) {
1122
- sp -= 2;
1123
- while (*sp != '\n') /* Until end of line */
1124
- mcpp_fputc( *sp++, OUT);
1125
- mcpp_fputc( '\n', OUT);
1126
- wrong_line = TRUE;
1127
- }
1128
- goto end_line;
1129
- default: /* Not a comment */
1130
- *tp++ = '/';
1131
- sp--; /* To re-read */
1132
- break;
1133
- }
1134
- break;
1135
- case '\r': /* Vertical white spaces*/
1136
- /* Note that [CR+LF] is already converted to [LF]. */
1137
- case '\f':
1138
- case '\v':
1139
- if (warn_level & 4)
1140
- cwarn( "Converted %.0s0x%02lx to a space" /* _W4_ */
1141
- , NULL, (long) c, NULL);
1142
- case '\t': /* Horizontal space */
1143
- case ' ':
1144
- if (! (char_type[ *(tp - 1) & UCHARMAX] & HSP)) {
1145
- *tp++ = ' '; /* Squeeze white spaces */
1146
- }
1147
- break;
1148
- case '"': /* String literal */
1149
- case '\'': /* Character constant */
1150
- infile->bptr = sp;
1151
- tp = scan_quote( c, tp, limit, TRUE);
1152
- if (tp == NULL) {
1153
- free( temp); /* Unbalanced quotation */
1154
- return parse_line(); /* Skip the line */
1155
- }
1156
- sp = infile->bptr;
1157
- break;
1158
- default:
1159
- if (iscntrl( c)) {
1160
- cerror( /* Skip the control character */
1161
- "Illegal control character %.0s0x%lx, skipped the character" /* _E_ */
1162
- , NULL, (long) c, NULL);
1163
- } else { /* Any valid character */
1164
- *tp++ = c;
1165
- }
1166
- break;
1167
- }
1168
-
1169
- if (limit < tp) {
1170
- *tp = EOS;
1171
- cfatal( "Too long line spliced by comments" /* _F_ */
1172
- , NULL, 0L, NULL);
1173
- }
1174
- }
1175
-
1176
- end_line:
1177
- if (temp < tp && (char_type[ *(tp - 1) & UCHARMAX] & HSP))
1178
- tp--; /* Remove trailing white space */
1179
- *tp++ = '\n';
1180
- *tp = EOS;
1181
- infile->bptr = strcpy( infile->buffer, temp); /* Write back to buffer */
1182
- free( temp);
1183
- if (macro_line != 0 && macro_line != MACRO_ERROR) { /* Expanding macro */
1184
- temp = infile->buffer;
1185
- while (char_type[ *temp & UCHARMAX] & HSP)
1186
- temp++;
1187
- if (*temp == '#' /* This line starts with # token */
1188
- || (*temp == '%' && *(temp + 1) == ':'))
1189
- if (warn_level & 1)
1190
- cwarn(
1191
- "Macro started at line %.0s%ld swallowed directive-like line" /* _W1_ */
1192
- , NULL, macro_line, NULL);
1193
- }
1194
- return infile->buffer;
1195
- }
1196
-
1197
- static char * read_a_comment(
1198
- char * sp, /* Source */
1199
- size_t * sizp /* Size of the comment */
1200
- )
1201
- /*
1202
- * Read over a comment (which may cross the lines).
1203
- */
1204
- {
1205
- int c;
1206
- char * saved_sp;
1207
- int cat_line = 0; /* Number of catenated lines */
1208
-
1209
- if (keep_comments) /* If writing comments */
1210
- mcpp_fputs( "/*", OUT); /* Write the initializer*/
1211
- c = *sp++;
1212
-
1213
- while (1) { /* Eat a comment */
1214
- if (keep_comments)
1215
- mcpp_fputc( c, OUT);
1216
-
1217
- switch (c) {
1218
- case '/':
1219
- if ((c = *sp++) != '*') /* Don't let comments */
1220
- continue; /* nest. */
1221
- if (warn_level & 1)
1222
- cwarn( "\"/*\" within comment", NULL, 0L, NULL); /* _W1_ */
1223
- if (keep_comments)
1224
- mcpp_fputc( c, OUT);
1225
- /* Fall into * stuff */
1226
- case '*':
1227
- if ((c = *sp++) != '/') /* If comment doesn't */
1228
- continue; /* end, look at next. */
1229
- if (keep_comments) { /* Put out comment */
1230
- mcpp_fputc( c, OUT); /* terminator, too. */
1231
- mcpp_fputc( '\n', OUT); /* Append '\n' to avoid */
1232
- /* trouble on some other tools such as rpcgen. */
1233
- wrong_line = TRUE;
1234
- }
1235
- if ((mcpp_debug & MACRO_CALL) && compiling) {
1236
- if (cat_line) {
1237
- cat_line++;
1238
- com_cat_line.len[ cat_line] /* Catenated length */
1239
- = com_cat_line.len[ cat_line - 1]
1240
- + strlen( infile->buffer) - 1;
1241
- /* '-1' for '\n' */
1242
- com_cat_line.last_line = src_line;
1243
- }
1244
- }
1245
- return sp; /* End of comment */
1246
- case '\n': /* Line-crossing comment*/
1247
- if ((mcpp_debug & MACRO_CALL) && compiling) {
1248
- /* Save location informations */
1249
- if (cat_line == 0) /* First line of catenation */
1250
- com_cat_line.start_line = src_line;
1251
- if (cat_line >= MAX_CAT_LINE - 1) {
1252
- *sizp = 0; /* Discard the too long comment */
1253
- cat_line = 0;
1254
- if (warn_level & 4)
1255
- cwarn(
1256
- "Too long comment, discarded up to here" /* _W4_ */
1257
- , NULL, 0L, NULL);
1258
- }
1259
- cat_line++;
1260
- com_cat_line.len[ cat_line]
1261
- = com_cat_line.len[ cat_line - 1]
1262
- + strlen( infile->buffer) - 1;
1263
- }
1264
- if ((saved_sp = sp = get_line( TRUE)) == NULL)
1265
- return NULL; /* End of file within comment */
1266
- /* Never happen, because at_eof() supplement closing*/
1267
- wrong_line = TRUE; /* We'll need a #line later */
1268
- break;
1269
- default: /* Anything else is */
1270
- break; /* just a character */
1271
- } /* End switch */
1272
-
1273
- c = *sp++;
1274
- } /* End comment loop */
1275
-
1276
- return sp; /* Never reach here */
1277
- }
1278
-
1279
- static char * mcpp_fgets(
1280
- char * s,
1281
- int size,
1282
- FILE * stream
1283
- )
1284
- {
1285
- return fgets( s, size, stream);
1286
- }
1287
-
1288
- static char * get_line(
1289
- int in_comment
1290
- )
1291
- /*
1292
- * ANSI (ISO) C: translation phase 1, 2.
1293
- * Get the next logical line from source file.
1294
- * Convert [CR+LF] to [LF].
1295
- */
1296
- {
1297
- #define cr_warn_level 1
1298
- static int cr_converted;
1299
- int converted = FALSE;
1300
- int len; /* Line length - alpha */
1301
- char * ptr;
1302
- int cat_line = 0; /* Number of catenated lines */
1303
-
1304
- if (infile == NULL) /* End of a source file */
1305
- return NULL;
1306
- ptr = infile->bptr = infile->buffer;
1307
- if ((mcpp_debug & MACRO_CALL) && src_line == 0) /* Initialize */
1308
- com_cat_line.last_line = bsl_cat_line.last_line = 0L;
1309
-
1310
- while (mcpp_fgets( ptr, (int) (infile->buffer + NBUFF - ptr), infile->fp)
1311
- != NULL) {
1312
- /* Translation phase 1 */
1313
- src_line++; /* Gotten next physical line */
1314
- if (src_line == std_limits.line_num + 1
1315
- && (warn_level & 1))
1316
- cwarn( "Line number %.0s\"%ld\" got beyond range" /* _W1_ */
1317
- , NULL, src_line, NULL);
1318
- if (mcpp_debug & (TOKEN | GETC)) { /* Dump it to DBG */
1319
- mcpp_fprintf( DBG, "\n#line %ld (%s)", src_line, cur_fullname);
1320
- dump_string( NULL, ptr);
1321
- }
1322
- len = strlen( ptr);
1323
- if (NBUFF - 1 <= ptr - infile->buffer + len
1324
- && *(ptr + len - 1) != '\n') {
1325
- /* The line does not yet end, though the buffer is full. */
1326
- if (NBUFF - 1 <= len)
1327
- cfatal( "Too long source line" /* _F_ */
1328
- , NULL, 0L, NULL);
1329
- else
1330
- cfatal( "Too long logical line" /* _F_ */
1331
- , NULL, 0L, NULL);
1332
- }
1333
- if (*(ptr + len - 1) != '\n') /* Unterminated source line */
1334
- break;
1335
- if (len >= 2 && *(ptr + len - 2) == '\r') { /* [CR+LF] */
1336
- *(ptr + len - 2) = '\n';
1337
- *(ptr + --len) = EOS;
1338
- if (! cr_converted && (warn_level & cr_warn_level)) {
1339
- cwarn( "Converted [CR+LF] to [LF]" /* _W1_ _W2_ */
1340
- , NULL, 0L, NULL);
1341
- cr_converted = TRUE;
1342
- }
1343
- }
1344
- if (converted)
1345
- len = strlen( ptr);
1346
- /* Translation phase 2 */
1347
- len -= 2;
1348
- if (len >= 0) {
1349
- if (*(ptr + len) == '\\') {
1350
- /* <backslash><newline> (not MBCHAR) */
1351
- ptr = infile->bptr += len; /* Splice the lines */
1352
- wrong_line = TRUE;
1353
- if ((mcpp_debug & MACRO_CALL) && compiling) {
1354
- /* Save location informations */
1355
- if (cat_line == 0) /* First line of catenation */
1356
- bsl_cat_line.start_line = src_line;
1357
- if (cat_line < MAX_CAT_LINE)
1358
- /* Record the catenated length */
1359
- bsl_cat_line.len[ ++cat_line]
1360
- = strlen( infile->buffer) - 2;
1361
- /* Else ignore */
1362
- }
1363
- continue;
1364
- }
1365
- }
1366
- #if NBUFF-2 > SLEN90MIN
1367
- if (ptr - infile->buffer + len + 2 > std_limits.str_len + 1
1368
- && (warn_level & 4)) /* +1 for '\n' */
1369
- cwarn( "Logical source line longer than %.0s%ld bytes" /* _W4_ */
1370
- , NULL, std_limits.str_len, NULL);
1371
- #endif
1372
- if ((mcpp_debug & MACRO_CALL) && compiling) {
1373
- if (cat_line && cat_line < MAX_CAT_LINE) {
1374
- bsl_cat_line.len[ ++cat_line] = strlen( infile->buffer) - 1;
1375
- /* Catenated length: '-1' for '\n' */
1376
- bsl_cat_line.last_line = src_line;
1377
- }
1378
- }
1379
- return infile->bptr = infile->buffer; /* Logical line */
1380
- }
1381
-
1382
- /* End of a (possibly included) source file */
1383
- if (ferror( infile->fp))
1384
- cfatal( "File read error", NULL, 0L, NULL); /* _F_ */
1385
- if ((ptr = at_eof( in_comment)) != NULL) /* Check at end of file */
1386
- return ptr; /* Partial line supplemented */
1387
- return NULL;
1388
- }
1389
-
1390
- static char * at_eof(
1391
- int in_comment
1392
- )
1393
- /*
1394
- * Check the partial line, unterminated comment, unbalanced #if block,
1395
- * uncompleted macro call at end of a file or at end of input.
1396
- * Supplement the line terminator, if possible.
1397
- * Return the supplemented line or NULL on unrecoverable error.
1398
- */
1399
- {
1400
- const char * const format
1401
- = "End of %s with %.0ld%s"; /* _E_ _W1_ */
1402
- const char * const unterm_if_format
1403
- = "End of %s within #if (#ifdef) section started at line %ld"; /* _E_ _W1_ */
1404
- const char * const unterm_macro_format
1405
- = "End of %s within macro call started at line %ld";/* _E_ _W1_ */
1406
- const char * const input
1407
- = infile->parent ? "file" : "input"; /* _E_ _W1_ */
1408
- const char * const no_newline
1409
- = "no newline, supplemented newline"; /* _W1_ */
1410
- const char * const unterm_com
1411
- = "unterminated comment, terminated the comment"; /* _W1_ */
1412
- const char * const backsl = "\\, deleted the \\"; /* _W1_ */
1413
- size_t len;
1414
- char * cp;
1415
-
1416
- cp = infile->buffer;
1417
- len = strlen( cp);
1418
- if (len && *(cp += (len - 1)) != '\n') {
1419
- *++cp = '\n'; /* Supplement <newline> */
1420
- *++cp = EOS;
1421
- if ((warn_level & 1))
1422
- cwarn( format, input, 0L, no_newline);
1423
- return infile->bptr = infile->buffer;
1424
- }
1425
- if (infile->buffer < infile->bptr) {
1426
- /* No line after <backslash><newline> */
1427
- cp = infile->bptr;
1428
- *cp++ = '\n'; /* Delete the \\ */
1429
- *cp = EOS;
1430
- if (warn_level & 1)
1431
- cwarn( format, input, 0L, backsl);
1432
- return infile->bptr = infile->buffer;
1433
- }
1434
- if (in_comment) { /* End of file within a comment */
1435
- if ((warn_level & 1))
1436
- cwarn( format, input, 0L, unterm_com);
1437
- /* The partial comment line has been already read by */
1438
- /* read_a_comment(), so supplement the next line. */
1439
- strcpy( infile->buffer, "*/\n");
1440
- return infile->bptr = infile->buffer;
1441
- }
1442
-
1443
- if (infile->initif < ifptr) {
1444
- IFINFO * ifp = infile->initif + 1;
1445
- cerror( unterm_if_format, input, ifp->ifline, NULL);
1446
- ifptr = infile->initif; /* Clear information of */
1447
- compiling = ifptr->stat; /* erroneous grouping */
1448
- }
1449
-
1450
- if (macro_line != 0 && macro_line != MACRO_ERROR
1451
- && in_getarg) {
1452
- cerror( unterm_macro_format, input, macro_line, NULL);
1453
- macro_line = MACRO_ERROR;
1454
- }
1455
-
1456
- return NULL;
1457
- }
1458
-
1459
- void unget_ch( void)
1460
- /*
1461
- * Back the pointer to reread the last character. Fatal error (code bug)
1462
- * if we back too far. unget_ch() may be called, without problems, at end of
1463
- * file. Only one character may be ungotten. If you need to unget more,
1464
- * call unget_string().
1465
- */
1466
- {
1467
- if (in_token) {
1468
- infile->bptr--;
1469
- return;
1470
- }
1471
-
1472
- if (infile != NULL) {
1473
- --infile->bptr;
1474
- if (infile->bptr < infile->buffer) /* Shouldn't happen */
1475
- cfatal( "Bug: Too much pushback", NULL, 0L, NULL); /* _F_ */
1476
- }
1477
-
1478
- if (mcpp_debug & GETC)
1479
- dump_unget( "after unget");
1480
- }
1481
-
1482
- FILEINFO * unget_string(
1483
- const char * text, /* Text to unget */
1484
- const char * name /* Name of the macro, if any*/
1485
- )
1486
- /*
1487
- * Push a string back on the input stream. This is done by treating
1488
- * the text as if it were a macro or a file.
1489
- */
1490
- {
1491
- FILEINFO * file;
1492
- size_t size;
1493
-
1494
- if (text)
1495
- size = strlen( text) + 1;
1496
- else
1497
- size = 1;
1498
- file = get_file( name, NULL, NULL, size, FALSE);
1499
- if (text)
1500
- memcpy( file->buffer, text, size);
1501
- else
1502
- *file->buffer = EOS;
1503
- return file;
1504
- }
1505
-
1506
- char * save_string(
1507
- const char * text
1508
- )
1509
- /*
1510
- * Store a string into free memory.
1511
- */
1512
- {
1513
- char * result;
1514
- size_t size;
1515
-
1516
- size = strlen( text) + 1;
1517
- result = xmalloc( size);
1518
- memcpy( result, text, size);
1519
- return result;
1520
- }
1521
-
1522
- FILEINFO * get_file(
1523
- const char * name, /* File or macro name */
1524
- const char * src_dir, /* Source file directory*/
1525
- const char * fullname, /* Full path list */
1526
- size_t bufsize, /* Line buffer size */
1527
- int include_opt /* Specified by -include opt (for GCC) */
1528
- )
1529
- /*
1530
- * Common FILEINFO buffer initialization for a new file or macro.
1531
- */
1532
- {
1533
- FILEINFO * file;
1534
-
1535
- file = (FILEINFO *) xmalloc( sizeof (FILEINFO));
1536
- file->buffer = xmalloc( bufsize);
1537
- file->bptr = file->buffer; /* Initialize line ptr */
1538
- file->buffer[ 0] = EOS; /* Force first read */
1539
- file->line = 0L; /* (Not used just yet) */
1540
- file->fp = NULL; /* No file yet */
1541
- file->pos = 0L; /* No pos to remember */
1542
- file->parent = infile; /* Chain files together */
1543
- file->initif = ifptr; /* Initial ifstack */
1544
- file->include_opt = include_opt; /* Specified by -include*/
1545
- file->dirp = NULL; /* No include dir yet */
1546
- file->real_fname = name; /* Save file/macro name */
1547
- file->full_fname = fullname; /* Full path list */
1548
- if (name) {
1549
- file->filename = xmalloc( strlen( name) + 1);
1550
- strcpy( file->filename, name); /* Copy for #line */
1551
- } else {
1552
- file->filename = NULL;
1553
- }
1554
- if (src_dir) {
1555
- file->src_dir = xmalloc( strlen( src_dir) + 1);
1556
- strcpy( file->src_dir, src_dir);
1557
- } else {
1558
- file->src_dir = NULL;
1559
- }
1560
- file->last_fputc = mcpp_lib_fputc;
1561
- file->last_fputs = mcpp_lib_fputs;
1562
- file->last_fprintf = mcpp_lib_fprintf;
1563
- if (infile != NULL) { /* If #include file */
1564
- infile->line = src_line; /* Save current line */
1565
- infile->last_fputc = mcpp_fputc;
1566
- infile->last_fputs = mcpp_fputs;
1567
- infile->last_fprintf = mcpp_fprintf;
1568
- }
1569
- infile = file; /* New current file */
1570
-
1571
- return file; /* All done. */
1572
- }
1573
-
1574
- static const char * const out_of_memory
1575
- = "Out of memory (required size is %.0s0x%lx bytes)"; /* _F_ */
1576
-
1577
- char *
1578
- (xmalloc)(
1579
- size_t size
1580
- )
1581
- /*
1582
- * Get a block of free memory.
1583
- */
1584
- {
1585
- char * result;
1586
-
1587
- if ((result = (char *) malloc( size)) == NULL) {
1588
- if (mcpp_debug & MEMORY)
1589
- print_heap();
1590
- cfatal( out_of_memory, NULL, (long) size, NULL);
1591
- }
1592
- return result;
1593
- }
1594
-
1595
- char * (xrealloc)(
1596
- char * ptr,
1597
- size_t size
1598
- )
1599
- /*
1600
- * Reallocate malloc()ed memory.
1601
- */
1602
- {
1603
- char * result;
1604
-
1605
- if ((result = (char *) realloc( ptr, size)) == NULL && size != 0) {
1606
- /* 'size != 0' is necessary to cope with some */
1607
- /* implementation of realloc( ptr, 0) which returns NULL. */
1608
- if (mcpp_debug & MEMORY)
1609
- print_heap();
1610
- cfatal( out_of_memory, NULL, (long) size, NULL);
1611
- }
1612
- return result;
1613
- }
1614
-
1615
- LINE_COL * get_src_location(
1616
- LINE_COL * p_line_col /* Line and column on phase 4 */
1617
- )
1618
- /*
1619
- * Convert line-column datum of just after translation phase 3 into that of
1620
- * phase 2, tracing back line splicing by a comment and <backslash><newline>.
1621
- * Note: This conversion does not give correct datum on a line catenated by
1622
- * both of <backslash><newline> and line-crossing-comment at the same time.
1623
- *
1624
- * com_cat_line and bsl_cat_line have data only on last catenated line.
1625
- * com_cat_line.len[] and bsl_cat_line.len[] have the length of catenated
1626
- * line, and len[ 0] is always 0, followed by len[ 1], len[ 2], ..., as
1627
- * accumulated length of successively catenated lines.
1628
- */
1629
- {
1630
- long line;
1631
- size_t col;
1632
- size_t * cols;
1633
- CAT_LINE * l_col_p;
1634
- int i;
1635
-
1636
- line = p_line_col->line;
1637
- col = p_line_col->col;
1638
-
1639
- for (i = 0; i <= 1; i++) {
1640
- l_col_p = i ? & bsl_cat_line : & com_cat_line;
1641
- if (l_col_p->last_line != line)
1642
- continue;
1643
- /* Else just catenated line */
1644
- cols = l_col_p->len + 1;
1645
- while (*cols < col)
1646
- cols++;
1647
- if (col <= *cols) {
1648
- cols--;
1649
- col -= *cols;
1650
- }
1651
- line = l_col_p->start_line + (cols - l_col_p->len);
1652
- }
1653
-
1654
- p_line_col->line = line;
1655
- p_line_col->col = col + 1;
1656
- /* col internally start at 0, output start at 1 */
1657
-
1658
- return p_line_col;
1659
- }
1660
-
1661
- static void do_msg(
1662
- const char * severity, /* "fatal", "error", "warning" */
1663
- const char * format, /* Format for the error message */
1664
- const char * arg1, /* String arg. for the message */
1665
- long arg2, /* Integer argument */
1666
- const char * arg3 /* Second string argument */
1667
- )
1668
- /*
1669
- * Print filenames, macro names, line numbers and error messages.
1670
- * Also print macro definitions on macro expansion problems.
1671
- */
1672
- {
1673
- FILEINFO * file;
1674
- DEFBUF * defp;
1675
- int i;
1676
- size_t slen;
1677
- const char * arg_s[ 2];
1678
- char * arg_t[ 2];
1679
- char * tp;
1680
- const char * sp;
1681
- int c;
1682
- int ind;
1683
-
1684
- fflush( fp_out); /* Synchronize output and diagnostics */
1685
- arg_s[ 0] = arg1; arg_s[ 1] = arg3;
1686
-
1687
- for (i = 0; i < 2; i++) { /* Convert special characters to visible */
1688
- sp = arg_s[ i];
1689
- if (sp != NULL)
1690
- slen = strlen( sp) + 1;
1691
- else
1692
- slen = 1;
1693
- tp = arg_t[ i] = (char *) malloc( slen);
1694
- /* Don't use xmalloc() so as not to cause infinite recursion */
1695
- if (sp == NULL || *sp == EOS) {
1696
- *tp = EOS;
1697
- continue;
1698
- }
1699
-
1700
- while ((c = *sp++) != EOS) {
1701
- switch (c) {
1702
- case TOK_SEP:
1703
- case RT_END:
1704
- case CAT:
1705
- case ST_QUOTE:
1706
- case DEF_MAGIC:
1707
- break; /* Skip the magic characters*/
1708
- case IN_SRC:
1709
- if ((mcpp_debug & MACRO_CALL) && ! in_directive)
1710
- sp += 2; /* Skip two more bytes */
1711
- break;
1712
- case MAC_INF:
1713
- switch (*sp++) { /* Skip the magic characters*/
1714
- case MAC_ARG_START :
1715
- sp++;
1716
- /* Fall through */
1717
- case MAC_CALL_START :
1718
- sp += 2;
1719
- break;
1720
- case MAC_ARG_END :
1721
- break;
1722
- case MAC_CALL_END :
1723
- break;
1724
- }
1725
- break;
1726
- case '\n':
1727
- *tp++ = ' '; /* Convert '\n' to a space */
1728
- break;
1729
- default:
1730
- *tp++ = c;
1731
- break;
1732
- }
1733
- }
1734
-
1735
- if (*(sp - 2) == '\n')
1736
- tp--;
1737
- *tp = EOS;
1738
- }
1739
-
1740
- /* Print source location and diagnostic */
1741
- file = infile;
1742
- while (file != NULL && (file->fp == NULL || file->fp == (FILE *)-1))
1743
- file = file->parent; /* Skip macro */
1744
- if (file != NULL) {
1745
- file->line = src_line;
1746
- mcpp_fprintf( ERR, "%s:%ld: %s: ", cur_fullname, src_line, severity);
1747
- }
1748
- mcpp_fprintf( ERR, format, arg_t[ 0], arg2, arg_t[ 1]);
1749
- mcpp_fputc( '\n', ERR);
1750
-
1751
- /* Print source line, includers and expanding macros */
1752
- file = infile;
1753
- if (file != NULL && file->fp != NULL) {
1754
- mcpp_fprintf( ERR, " %s", file->buffer);
1755
- /* Current source line */
1756
- file = file->parent;
1757
- }
1758
- while (file != NULL) { /* Print #includes, too */
1759
- if (file->fp == NULL) { /* Macro */
1760
- if (file->filename) {
1761
- defp = look_id( file->filename);
1762
- if ((defp->nargs > DEF_NOARGS_STANDARD)
1763
- && ! (file->parent && file->parent->filename
1764
- && str_eq( file->filename, file->parent->filename)))
1765
- /* If the name is not duplicate of parent */
1766
- dump_a_def( " macro", defp, FALSE, TRUE, fp_err);
1767
- }
1768
- } else { /* Source file */
1769
- if (file->buffer[ 0] == '\0')
1770
- strcpy( file->buffer, "\n");
1771
- mcpp_fprintf( ERR, " from %s: %ld: %s",
1772
- file->line ? file->full_fname /* Full-path-list */
1773
- : "<stdin>", /* Included by -include */
1774
- file->line, /* Current line number */
1775
- file->buffer); /* The source line */
1776
- }
1777
- file = file->parent;
1778
- }
1779
-
1780
- if (! macro_name)
1781
- goto free_arg;
1782
- /* Additional information of macro definitions */
1783
- expanding_macro[ 0].name = macro_name;
1784
- for (ind = 0; ind <= exp_mac_ind; ind++) {
1785
- int ind_done;
1786
-
1787
- for (ind_done = 0; ind_done < ind; ind_done++)
1788
- if (str_eq( expanding_macro[ ind].name
1789
- , expanding_macro[ ind_done].name))
1790
- break; /* Already reported */
1791
- if (ind_done < ind)
1792
- continue;
1793
- for (file = infile; file; file = file->parent)
1794
- if (file->fp == NULL && file->filename
1795
- && str_eq( expanding_macro[ ind].name, file->filename))
1796
- break; /* Already reported */
1797
- if (file)
1798
- continue;
1799
- if ((defp = look_id( expanding_macro[ ind].name)) != NULL) {
1800
- if (defp->nargs <= DEF_NOARGS_STANDARD)
1801
- continue; /* Standard predefined */
1802
- dump_a_def( " macro", defp, FALSE, TRUE, fp_err);
1803
- /* Macro already read over */
1804
- }
1805
- }
1806
-
1807
- free_arg:
1808
- for (i = 0; i < 2; i++)
1809
- free( arg_t[ i]);
1810
- }
1811
-
1812
- void cfatal(
1813
- const char * format,
1814
- const char * arg1,
1815
- long arg2,
1816
- const char * arg3
1817
- )
1818
- /*
1819
- * A real disaster.
1820
- */
1821
- {
1822
- do_msg( "fatal error", format, arg1, arg2, arg3);
1823
- longjmp( error_exit, -1);
1824
- }
1825
-
1826
- void cerror(
1827
- const char * format,
1828
- const char * arg1,
1829
- long arg2,
1830
- const char * arg3
1831
- )
1832
- /*
1833
- * Print a error message.
1834
- */
1835
- {
1836
- do_msg( "error", format, arg1, arg2, arg3);
1837
- errors++;
1838
- }
1839
-
1840
- void cwarn(
1841
- const char * format,
1842
- const char * arg1,
1843
- long arg2,
1844
- const char * arg3
1845
- )
1846
- /*
1847
- * Maybe an error.
1848
- */
1849
- {
1850
- do_msg( "warning", format, arg1, arg2, arg3);
1851
- }
1852
-
1853
- void dump_string(
1854
- const char * why,
1855
- const char * text
1856
- )
1857
- /*
1858
- * Dump text readably.
1859
- * Bug: macro argument number may be putout as a control character or any
1860
- * other character, just after MAC_PARM has been read away.
1861
- */
1862
- {
1863
- const char * cp;
1864
- const char * chr;
1865
- int c, c1, c2;
1866
-
1867
- if (why != NULL)
1868
- mcpp_fprintf( DBG, " (%s)", why);
1869
- mcpp_fputs( " => ", DBG);
1870
-
1871
- if (text == NULL) {
1872
- mcpp_fputs( "NULL", DBG);
1873
- return;
1874
- }
1875
-
1876
- for (cp = text; (c = *cp++ & UCHARMAX) != EOS; ) {
1877
- chr = NULL;
1878
-
1879
- switch (c) {
1880
- case MAC_PARM:
1881
- c = *cp++ & UCHARMAX; /* Macro parameter number */
1882
- mcpp_fprintf( DBG, "<%d>", c);
1883
- break;
1884
- case MAC_INF:
1885
- if (! ((mcpp_debug & MACRO_CALL)))
1886
- goto no_magic;
1887
- /* Macro informations inserted by -K option */
1888
- c2 = *cp++ & UCHARMAX;
1889
- if (c2 == MAC_CALL_START || c2 == MAC_ARG_START) {
1890
- c = ((*cp++ & UCHARMAX) - 1) * UCHARMAX;
1891
- c += (*cp++ & UCHARMAX) - 1;
1892
- }
1893
- switch (c2) {
1894
- case MAC_CALL_START:
1895
- mcpp_fprintf( DBG, "<MAC%d>", c);
1896
- break;
1897
- case MAC_CALL_END:
1898
- chr = "<MAC_END>";
1899
- break;
1900
- case MAC_ARG_START:
1901
- c1 = *cp++ & UCHARMAX;
1902
- mcpp_fprintf( DBG, "<MAC%d:ARG%d>", c, c1 - 1);
1903
- break;
1904
- case MAC_ARG_END:
1905
- chr = "<ARG_END>";
1906
- break;
1907
- }
1908
- break;
1909
- case DEF_MAGIC:
1910
- chr = "<MAGIC>";
1911
- break;
1912
- case CAT:
1913
- chr = "##";
1914
- break;
1915
- case ST_QUOTE:
1916
- chr = "#";
1917
- break;
1918
- case RT_END:
1919
- chr = "<RT_END>";
1920
- break;
1921
- case IN_SRC:
1922
- if ((mcpp_debug & MACRO_CALL) && ! in_directive) {
1923
- int num;
1924
- num = ((*cp++ & UCHARMAX) - 1) * UCHARMAX;
1925
- num += (*cp++ & UCHARMAX) - 1;
1926
- mcpp_fprintf( DBG, "<SRC%d>", num);
1927
- } else {
1928
- chr = "<SRC>";
1929
- }
1930
- break;
1931
- case TOK_SEP:
1932
- chr = "<TSEP>";
1933
- break;
1934
- default:
1935
- no_magic:
1936
- if (c < ' ')
1937
- mcpp_fprintf( DBG, "<^%c>", c + '@');
1938
- else
1939
- mcpp_fputc( c, DBG);
1940
- break;
1941
- }
1942
-
1943
- if (chr)
1944
- mcpp_fputs( chr, DBG);
1945
- }
1946
-
1947
- mcpp_fputc( '\n', DBG);
1948
- }
1949
-
1950
- void dump_unget(
1951
- const char * why
1952
- )
1953
- /*
1954
- * Dump all ungotten junk (pending macros and current input lines).
1955
- */
1956
- {
1957
- const FILEINFO * file;
1958
-
1959
- mcpp_fputs( "dump of pending input text", DBG);
1960
- if (why != NULL) {
1961
- mcpp_fputs( "-- ", DBG);
1962
- mcpp_fputs( why, DBG);
1963
- }
1964
- mcpp_fputc( '\n', DBG);
1965
-
1966
- for (file = infile; file != NULL; file = file->parent)
1967
- dump_string( file->real_fname ? file->real_fname
1968
- : file->filename ? file->filename : "NULL", file->bptr);
1969
- }
1970
-
1971
- static void dump_token(
1972
- int token_type,
1973
- const char * cp /* Token */
1974
- )
1975
- /*
1976
- * Dump a token.
1977
- */
1978
- {
1979
- static const char * const t_type[]
1980
- = { "NAM", "NUM", "STR", "WSTR", "CHR", "WCHR", "OPE", "SPE"
1981
- , "SEP", };
1982
-
1983
- mcpp_fputs( "token", DBG);
1984
- dump_string( t_type[ token_type - NAM], cp);
1985
- }