zeroc-ice 3.7.10 → 3.8.0

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 (1216) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +60 -0
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/mcpp/internal.H +530 -0
  435. data/dist/ice/mcpp/system.c +2741 -0
  436. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  437. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  438. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  439. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  440. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  441. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  442. data/dist/ice/slice/Ice/Context.ice +24 -0
  443. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  444. data/dist/ice/slice/Ice/Identity.ice +36 -0
  445. data/dist/ice/slice/Ice/Locator.ice +74 -0
  446. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  447. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  448. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  449. data/dist/ice/slice/Ice/Process.ice +28 -0
  450. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  451. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  452. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  453. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  454. data/dist/ice/slice/Ice/Router.ice +54 -0
  455. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  456. data/dist/ice/slice/Ice/Version.ice +43 -0
  457. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  458. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  459. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  460. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  461. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  462. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  463. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  464. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  465. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  466. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  467. data/dist/lib/Glacier2/Metrics.rb +41 -0
  468. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  469. data/dist/lib/Glacier2/Router.rb +73 -0
  470. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  471. data/dist/lib/Glacier2/Session.rb +187 -0
  472. data/dist/lib/Glacier2.rb +7 -0
  473. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  474. data/dist/lib/Ice/CompressBatch.rb +50 -0
  475. data/dist/lib/Ice/Context.rb +12 -0
  476. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  477. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  478. data/dist/lib/Ice/Exception.rb +20 -0
  479. data/dist/lib/Ice/Identity.rb +47 -0
  480. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  481. data/dist/lib/Ice/InitializationData.rb +12 -0
  482. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  483. data/dist/lib/Ice/Locator.rb +83 -0
  484. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  485. data/dist/lib/Ice/Metrics.rb +290 -0
  486. data/dist/lib/Ice/OperationMode.rb +58 -0
  487. data/dist/lib/Ice/Process.rb +34 -0
  488. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  489. data/dist/lib/Ice/PropertyDict.rb +12 -0
  490. data/dist/lib/Ice/Proxy.rb +85 -0
  491. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  492. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  493. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  494. data/dist/lib/Ice/Router.rb +59 -0
  495. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  496. data/dist/lib/Ice/SliceUtil.rb +41 -0
  497. data/dist/lib/Ice/Struct.rb +11 -0
  498. data/dist/lib/Ice/ToStringMode.rb +50 -0
  499. data/dist/lib/Ice/Value.rb +93 -0
  500. data/dist/lib/Ice/Version.rb +78 -0
  501. data/dist/lib/Ice.rb +37 -0
  502. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  503. data/dist/lib/IceBox.rb +3 -0
  504. data/dist/lib/IceGrid/Admin.rb +1208 -0
  505. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  506. data/dist/lib/IceGrid/Exception.rb +145 -0
  507. data/dist/lib/IceGrid/FileParser.rb +41 -0
  508. data/dist/lib/IceGrid/Registry.rb +168 -0
  509. data/dist/lib/IceGrid/Session.rb +56 -0
  510. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  511. data/dist/lib/IceGrid.rb +9 -0
  512. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  513. data/dist/lib/IceStorm/Metrics.rb +55 -0
  514. data/dist/lib/IceStorm.rb +4 -0
  515. data/extconf.rb +89 -0
  516. data/ice.gemspec +22 -17
  517. data/scripts/slice2rb +10 -0
  518. metadata +536 -712
  519. data/ICE_LICENSE +0 -48
  520. data/LICENSE +0 -340
  521. data/MCPP_LICENSE +0 -29
  522. data/bin/slice2rb +0 -12
  523. data/ext/Communicator.cpp +0 -792
  524. data/ext/Communicator.h +0 -20
  525. data/ext/Config.h +0 -143
  526. data/ext/Connection.cpp +0 -532
  527. data/ext/Connection.h +0 -24
  528. data/ext/Endpoint.cpp +0 -340
  529. data/ext/Endpoint.h +0 -22
  530. data/ext/ImplicitContext.cpp +0 -144
  531. data/ext/ImplicitContext.h +0 -20
  532. data/ext/Init.cpp +0 -49
  533. data/ext/Logger.cpp +0 -147
  534. data/ext/Logger.h +0 -23
  535. data/ext/Operation.cpp +0 -661
  536. data/ext/Operation.h +0 -31
  537. data/ext/Properties.cpp +0 -365
  538. data/ext/Properties.h +0 -20
  539. data/ext/Proxy.cpp +0 -1396
  540. data/ext/Proxy.h +0 -22
  541. data/ext/Slice.cpp +0 -205
  542. data/ext/Slice.h +0 -17
  543. data/ext/Types.cpp +0 -3325
  544. data/ext/Types.h +0 -595
  545. data/ext/Util.cpp +0 -812
  546. data/ext/Util.h +0 -586
  547. data/ext/ValueFactoryManager.cpp +0 -441
  548. data/ext/ValueFactoryManager.h +0 -95
  549. data/ext/extconf.rb +0 -97
  550. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  551. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  552. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  553. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  554. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  555. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  556. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  557. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  558. data/ext/ice/cpp/include/Ice/Config.h +0 -76
  559. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  560. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  561. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  562. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  563. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  564. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  565. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  566. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  567. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  568. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  569. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  570. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  571. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  572. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  573. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  574. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  575. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  576. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  577. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  578. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  579. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  580. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  581. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  582. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  583. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  584. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  585. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  586. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  587. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  588. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  589. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  590. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  591. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  592. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  593. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  594. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  595. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  596. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  597. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  598. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  599. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  600. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  601. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  602. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  603. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  604. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  605. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  606. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  607. data/ext/ice/cpp/include/Ice/SHA1.h +0 -40
  608. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  609. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  610. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  611. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  612. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  613. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  614. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  615. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  616. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  617. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  618. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  619. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  620. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  621. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  623. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  624. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  625. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  626. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  628. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  629. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  630. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  631. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  632. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  633. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  634. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  635. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  636. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  637. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  638. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  639. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  640. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  641. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  642. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  643. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  644. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  645. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -349
  646. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  648. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  649. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  650. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  651. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  652. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  653. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  654. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  655. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  656. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  657. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  658. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  659. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  660. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  661. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  662. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  663. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -160
  664. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  665. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  666. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  667. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  668. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  669. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  670. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  671. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  672. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  673. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  674. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  675. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  676. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  677. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  678. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  679. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  681. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  682. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  683. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  684. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  685. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  686. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  687. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  688. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  689. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  691. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  692. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  693. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  694. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  695. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  696. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  697. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  699. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  700. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  701. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  702. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  704. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  705. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  706. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  707. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  709. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  710. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  711. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  712. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  713. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  714. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  715. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  716. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  717. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  718. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  719. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  720. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  721. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  723. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  724. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  725. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  727. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  728. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  729. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  731. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  732. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  735. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  736. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  737. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  739. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  740. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  741. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  742. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -389
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  744. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  745. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  746. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  747. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  748. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  749. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -159
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  752. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  753. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  754. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -284
  755. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  756. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  758. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  762. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  763. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  764. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  765. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  766. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  767. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  768. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  769. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  770. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -818
  771. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  772. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  773. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  774. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  775. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  776. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  777. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -710
  779. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -152
  780. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  781. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  782. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  783. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  784. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  786. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  787. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  788. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  789. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  790. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  791. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  792. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1967
  793. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  794. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  795. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  797. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  798. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  799. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  800. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  801. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  803. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  804. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  805. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  807. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  808. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  809. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -259
  810. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  811. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  812. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  813. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  814. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  815. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  816. data/ext/ice/cpp/src/Ice/Network.h +0 -289
  817. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -19
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -311
  819. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  820. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  822. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  823. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  824. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  830. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  831. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  832. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  834. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  835. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  836. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  837. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  838. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  840. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  841. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  842. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  843. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  844. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  846. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  847. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  848. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  849. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  850. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  851. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  852. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  854. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  855. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  858. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  859. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  861. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  862. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  863. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  865. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  866. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  868. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  869. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  870. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  871. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  872. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  874. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  876. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  877. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  878. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  879. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  880. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  881. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  882. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  883. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  884. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  885. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -169
  886. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  887. data/ext/ice/cpp/src/Ice/Selector.h +0 -292
  888. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  889. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  890. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  891. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  892. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  893. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  894. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  895. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  896. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -519
  897. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -85
  898. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  899. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  901. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  903. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -234
  905. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -61
  906. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  907. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  909. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  911. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  912. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -569
  913. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  914. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  915. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  916. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  917. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  918. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  919. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  920. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  921. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  922. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  923. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  924. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -131
  925. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  927. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -806
  929. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -96
  930. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  931. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  933. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  934. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  935. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  937. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  938. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  939. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  941. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1704
  943. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  945. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  947. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  949. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  951. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  955. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  957. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  959. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  961. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  963. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  965. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  966. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  967. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  968. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  969. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  978. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  979. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  980. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  982. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  983. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  986. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  987. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  989. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  991. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  992. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1001. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1003. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1004. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1005. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1008. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1009. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1011. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1012. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1013. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1014. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1016. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1017. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1018. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  1019. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1020. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1021. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1022. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1023. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1024. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  1025. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1026. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1027. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  1028. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1029. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1030. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1032. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1033. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1035. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1036. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1037. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1038. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1039. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1040. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1041. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1042. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  1044. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -407
  1045. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1046. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1047. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1048. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1050. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1051. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1052. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1054. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1055. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1057. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1058. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1060. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1061. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1062. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1063. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1064. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1065. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1066. data/ext/ice/mcpp/LICENSE +0 -29
  1067. data/ext/ice/mcpp/Makefile +0 -63
  1068. data/ext/ice/mcpp/README.md +0 -32
  1069. data/ext/ice/mcpp/internal.H +0 -530
  1070. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1071. data/ext/ice/mcpp/system.c +0 -2737
  1072. data/lib/Glacier2/Metrics.rb +0 -56
  1073. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1074. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1075. data/lib/Glacier2/Router.rb +0 -95
  1076. data/lib/Glacier2/RouterF.rb +0 -25
  1077. data/lib/Glacier2/SSLInfo.rb +0 -72
  1078. data/lib/Glacier2/Session.rb +0 -247
  1079. data/lib/Glacier2.rb +0 -7
  1080. data/lib/Ice/BuiltinSequences.rb +0 -60
  1081. data/lib/Ice/Communicator.rb +0 -87
  1082. data/lib/Ice/CommunicatorF.rb +0 -24
  1083. data/lib/Ice/Connection.rb +0 -413
  1084. data/lib/Ice/ConnectionF.rb +0 -32
  1085. data/lib/Ice/Current.rb +0 -141
  1086. data/lib/Ice/Endpoint.rb +0 -187
  1087. data/lib/Ice/EndpointF.rb +0 -48
  1088. data/lib/Ice/EndpointTypes.rb +0 -69
  1089. data/lib/Ice/FacetMap.rb +0 -24
  1090. data/lib/Ice/Identity.rb +0 -63
  1091. data/lib/Ice/ImplicitContext.rb +0 -26
  1092. data/lib/Ice/ImplicitContextF.rb +0 -24
  1093. data/lib/Ice/Instrumentation.rb +0 -169
  1094. data/lib/Ice/InstrumentationF.rb +0 -31
  1095. data/lib/Ice/LocalException.rb +0 -1031
  1096. data/lib/Ice/Locator.rb +0 -196
  1097. data/lib/Ice/LocatorF.rb +0 -30
  1098. data/lib/Ice/Logger.rb +0 -24
  1099. data/lib/Ice/LoggerF.rb +0 -24
  1100. data/lib/Ice/Metrics.rb +0 -337
  1101. data/lib/Ice/ObjectAdapter.rb +0 -29
  1102. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1103. data/lib/Ice/ObjectFactory.rb +0 -24
  1104. data/lib/Ice/Plugin.rb +0 -30
  1105. data/lib/Ice/PluginF.rb +0 -28
  1106. data/lib/Ice/Process.rb +0 -53
  1107. data/lib/Ice/ProcessF.rb +0 -25
  1108. data/lib/Ice/Properties.rb +0 -25
  1109. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1110. data/lib/Ice/PropertiesF.rb +0 -29
  1111. data/lib/Ice/RemoteLogger.rb +0 -207
  1112. data/lib/Ice/Router.rb +0 -87
  1113. data/lib/Ice/RouterF.rb +0 -25
  1114. data/lib/Ice/ServantLocator.rb +0 -26
  1115. data/lib/Ice/ServantLocatorF.rb +0 -24
  1116. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1117. data/lib/Ice/ValueFactory.rb +0 -28
  1118. data/lib/Ice/Version.rb +0 -90
  1119. data/lib/Ice.rb +0 -673
  1120. data/lib/IceBox/IceBox.rb +0 -164
  1121. data/lib/IceBox.rb +0 -5
  1122. data/lib/IceGrid/Admin.rb +0 -1196
  1123. data/lib/IceGrid/Descriptor.rb +0 -1034
  1124. data/lib/IceGrid/Exception.rb +0 -376
  1125. data/lib/IceGrid/FileParser.rb +0 -65
  1126. data/lib/IceGrid/PluginFacade.rb +0 -35
  1127. data/lib/IceGrid/Registry.rb +0 -209
  1128. data/lib/IceGrid/Session.rb +0 -71
  1129. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1130. data/lib/IceGrid.rb +0 -9
  1131. data/lib/IcePatch2/FileInfo.rb +0 -115
  1132. data/lib/IcePatch2/FileServer.rb +0 -123
  1133. data/lib/IcePatch2.rb +0 -5
  1134. data/lib/IceStorm/IceStorm.rb +0 -332
  1135. data/lib/IceStorm/Metrics.rb +0 -73
  1136. data/lib/IceStorm.rb +0 -6
  1137. data/slice/Glacier2/Metrics.ice +0 -88
  1138. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1139. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1140. data/slice/Glacier2/Router.ice +0 -186
  1141. data/slice/Glacier2/RouterF.ice +0 -29
  1142. data/slice/Glacier2/SSLInfo.ice +0 -59
  1143. data/slice/Glacier2/Session.ice +0 -274
  1144. data/slice/Ice/BuiltinSequences.ice +0 -59
  1145. data/slice/Ice/Communicator.ice +0 -676
  1146. data/slice/Ice/CommunicatorF.ice +0 -31
  1147. data/slice/Ice/Connection.ice +0 -516
  1148. data/slice/Ice/ConnectionF.ice +0 -33
  1149. data/slice/Ice/Current.ice +0 -170
  1150. data/slice/Ice/Endpoint.ice +0 -291
  1151. data/slice/Ice/EndpointF.ice +0 -43
  1152. data/slice/Ice/EndpointTypes.ice +0 -48
  1153. data/slice/Ice/FacetMap.ice +0 -36
  1154. data/slice/Ice/Identity.ice +0 -75
  1155. data/slice/Ice/ImplicitContext.ice +0 -119
  1156. data/slice/Ice/ImplicitContextF.ice +0 -30
  1157. data/slice/Ice/Instrumentation.ice +0 -509
  1158. data/slice/Ice/InstrumentationF.ice +0 -38
  1159. data/slice/Ice/LocalException.ice +0 -1040
  1160. data/slice/Ice/Locator.ice +0 -239
  1161. data/slice/Ice/LocatorF.ice +0 -32
  1162. data/slice/Ice/Logger.ice +0 -99
  1163. data/slice/Ice/LoggerF.ice +0 -31
  1164. data/slice/Ice/Metrics.ice +0 -436
  1165. data/slice/Ice/ObjectAdapter.ice +0 -710
  1166. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1167. data/slice/Ice/ObjectFactory.ice +0 -71
  1168. data/slice/Ice/Plugin.ice +0 -131
  1169. data/slice/Ice/PluginF.ice +0 -36
  1170. data/slice/Ice/Process.ice +0 -64
  1171. data/slice/Ice/ProcessF.ice +0 -31
  1172. data/slice/Ice/Properties.ice +0 -244
  1173. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1174. data/slice/Ice/PropertiesF.ice +0 -32
  1175. data/slice/Ice/RemoteLogger.ice +0 -226
  1176. data/slice/Ice/Router.ice +0 -103
  1177. data/slice/Ice/RouterF.ice +0 -31
  1178. data/slice/Ice/ServantLocator.ice +0 -136
  1179. data/slice/Ice/ServantLocatorF.ice +0 -31
  1180. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1181. data/slice/Ice/ValueFactory.ice +0 -133
  1182. data/slice/Ice/Version.ice +0 -51
  1183. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1184. data/slice/IceBT/EndpointInfo.ice +0 -57
  1185. data/slice/IceBT/Types.ice +0 -45
  1186. data/slice/IceBox/IceBox.ice +0 -216
  1187. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1188. data/slice/IceGrid/Admin.ice +0 -1957
  1189. data/slice/IceGrid/Descriptor.ice +0 -1094
  1190. data/slice/IceGrid/Exception.ice +0 -396
  1191. data/slice/IceGrid/FileParser.ice +0 -72
  1192. data/slice/IceGrid/PluginFacade.ice +0 -329
  1193. data/slice/IceGrid/Registry.ice +0 -269
  1194. data/slice/IceGrid/Session.ice +0 -128
  1195. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1196. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1197. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1198. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1199. data/slice/IcePatch2/FileInfo.ice +0 -85
  1200. data/slice/IcePatch2/FileServer.ice +0 -191
  1201. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1202. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1203. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1204. data/slice/IceStorm/IceStorm.ice +0 -414
  1205. data/slice/IceStorm/Metrics.ice +0 -83
  1206. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1207. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1208. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1211. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1213. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1214. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1215. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1216. /data/{ext → dist}/ice/mcpp/system.H +0 -0
@@ -1,2737 +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 Y S T E M . C
32
- * S y s t e m D e p e n d e n t R o u t i n e s
33
- *
34
- * Routines dependent on O.S., compiler or compiler-driver.
35
- * To port MCPP for the systems not yet ported, you must
36
- * 1. specify the constants in "configed.H" or "noconfig.H",
37
- * 2. append the system-dependent routines in this file.
38
- */
39
-
40
- #include "system.H"
41
- #include "internal.H"
42
-
43
- #if HOST_SYS_FAMILY == SYS_UNIX
44
- #include "unistd.h" /* For getcwd(), readlink() */
45
- #elif HOST_COMPILER == MSC || HOST_COMPILER == LCC
46
- #include "direct.h"
47
- #define getcwd( buf, size) _getcwd( buf, size)
48
- #elif HOST_COMPILER == BORLANDC
49
- #include "dir.h"
50
- #endif
51
-
52
- #include "sys/types.h"
53
- #include "sys/stat.h" /* For stat() */
54
- #if ! defined( S_ISREG)
55
- #define S_ISREG( mode) (mode & S_IFREG)
56
- #define S_ISDIR( mode) (mode & S_IFDIR)
57
- #endif
58
- #if HOST_COMPILER == MSC
59
- #define S_IFREG _S_IFREG
60
- #define S_IFDIR _S_IFDIR
61
- #define stat( path, stbuf) _stat( path, stbuf)
62
- #endif
63
-
64
- /* Function to compare path-list */
65
- #if FNAME_FOLD
66
- #if HOST_COMPILER == GNUC /* CYGWIN, MINGW, MAC */
67
- #include <strings.h> /* POSIX 1, 2001 */
68
- #define str_case_eq( str1, str2) (strcasecmp( str1, str2) == 0)
69
- #else /* MSC, BORLANDC, LCC */
70
- #if HOST_COMPILER == MSC
71
- #define stricmp( str1, str2) _stricmp( str1, str2)
72
- #endif
73
- #define str_case_eq( str1, str2) (stricmp( str1, str2) == 0)
74
- #endif
75
- #else /* ! FNAME_FOLD */
76
- #define str_case_eq( str1, str2) (strcmp( str1, str2) == 0)
77
- #endif
78
-
79
- /*
80
- * PATH_DELIM is defined for the O.S. which has single byte path-delimiter.
81
- * Note: '\\' or any other character identical to second byte of MBCHAR should
82
- * not be used for PATH_DELIM for convenience of path-list parsing.
83
- */
84
- #if SYS_FAMILY == SYS_UNIX || SYS_FAMILY == SYS_WIN || SYSTEM == SYS_UNKNOWN
85
- #define PATH_DELIM '/'
86
- #define SPECIAL_PATH_DELIM FALSE
87
- #else /* Any other path-delimiter, define PATH_DELIM by yourself */
88
- #define SPECIAL_PATH_DELIM TRUE /* Any path-delimiter other than '/' */
89
- #endif
90
-
91
- /*
92
- * OBJEXT is the suffix to denote "object" file.
93
- */
94
- #ifndef OBJEXT
95
- #if SYS_FAMILY == SYS_UNIX || HOST_COMPILER == GNUC
96
- #define OBJEXT "o"
97
- #elif SYS_FAMILY == SYS_WIN
98
- #define OBJEXT "obj"
99
- #elif 1
100
- /* Add here appropriate definitions for other systems. */
101
- #endif
102
- #endif
103
-
104
- static void version( void);
105
- /* Print version message */
106
- static void usage( int opt);
107
- /* Putout usage of MCPP */
108
- static void set_opt_list( char * optlist);
109
- /* Set list of legal option chars */
110
- static void def_a_macro( int opt, char * def);
111
- /* Do a -D option */
112
- static void chk_opts( int sflag, int trad);
113
- /* Check consistency of options */
114
- static void init_predefines( void);
115
- /* Set and unset predefined macros */
116
- static void init_std_defines( void);
117
- /* Predefine Standard macros */
118
- static void set_limit( void);
119
- /* Set minimum translation limits */
120
-
121
- static void put_info( FILEINFO * sharp_file);
122
- /* Print compiler-specific-inf */
123
- static char * set_files( int argc, char ** argv, char ** in_pp
124
- , char ** out_pp);
125
- /* Set input, output, diagnostic */
126
- static void set_sys_dirs( int set_cplus_dir);
127
- /* Set system-specific include dirs */
128
- static void set_env_dirs( void);
129
- /* Set user-defined include dirs */
130
- static void parse_env( const char * env);
131
- /* Parse environment variables */
132
- static void set_a_dir( const char * dirname);
133
- /* Append an include directory */
134
- static char * norm_dir( const char * dirname, int framework);
135
- /* Normalize include directory path */
136
- static char * norm_path( const char * dir, const char * fname, int inf
137
- , int hmap); /* Normalize pathname to compare */
138
- #if SYS_FAMILY == SYS_UNIX
139
- static void deref_syml( char * slbuf1, char * slbuf2, char * chk_start);
140
- /* Dereference symbolic linked directory and file */
141
- #endif
142
- static void def_macros( void);
143
- /* Define macros specified by -D */
144
- static void undef_macros( void);
145
- /* Undefine macros specified by -U */
146
- static char * md_init( const char * filename, char * output);
147
- /* Initialize makefile dependency */
148
- static char * md_quote( char * output);
149
- /* 'Quote' special characters */
150
- static int open_include( char * filename, int searchlocal, int next);
151
- /* Open the file to include */
152
- static int has_directory( const char * source, char * directory);
153
- /* Get directory part of fname */
154
- static int is_full_path( const char * path);
155
- /* The path is absolute path list ? */
156
- static int search_dir( char * filename, int searchlocal, int next);
157
- /* Search the include directories */
158
- static int open_file( const char ** dirp, const char * src_dir
159
- , const char * filename, int local, int include_opt, int sys_frame);
160
- /* Open a source file */
161
- static const char * set_fname( const char * filename);
162
- /* Remember the source filename */
163
- #if 0 /* This function is only for debugging use */
164
- static int chk_dirp( const char ** dirp);
165
- /* Check validity of dirp arg for open_file() */
166
- #endif
167
- static void cur_file( FILEINFO * file, FILEINFO * sharp_file, int marker);
168
- /* Output current source file name */
169
- #if SYS_FAMILY == SYS_WIN
170
- static char * bsl2sl( char * filename);
171
- /* Convert \ to / in path-list */
172
- #endif
173
- static int is_junk( void);
174
- /* The directive has trailing junk? */
175
- static void do_once( const char * fullname);
176
- /* Process #pragma once */
177
- static int included( const char * fullname);
178
- /* The file has been once included? */
179
- static void push_or_pop( int direction);
180
- /* Push or pop a macro definition */
181
- static void do_preprocessed( void);
182
- /* Process preprocessed file */
183
- static int do_debug( int set);
184
- /* #pragma MCPP debug, #debug */
185
- static void dump_path( void);
186
- /* Print include search path */
187
- static int mcpp_getopt( int argc, char * const * argv, const char * opts);
188
- /* getopt() to prevent linking of glibc getopt */
189
-
190
- /* for mcpp_getopt() */
191
- static int mcpp_optind = 1;
192
- static int mcpp_opterr = 1;
193
- static int mcpp_optopt;
194
- static char * mcpp_optarg;
195
-
196
- static int mb_changed = FALSE; /* Flag of -e option */
197
- static char cur_work_dir[ PATHMAX + 1]; /* Current working directory*/
198
-
199
- /*
200
- * incdir[] stores the -I directories (and the system-specific #include <...>
201
- * directories). This is set by set_a_dir(). A trailing PATH_DELIM is
202
- * appended if absent.
203
- */
204
- static const char ** incdir; /* Include directories */
205
- static const char ** incend; /* -> active end of incdir */
206
- static int max_inc; /* Number of incdir[] */
207
-
208
- typedef struct inc_list { /* List of directories or files */
209
- char *name; /* Filename or directory-name */
210
- size_t len; /* Length of 'name' */
211
- } INC_LIST;
212
-
213
- /*
214
- * fnamelist[] stores the souce file names opened by #include directive for
215
- * debugging information.
216
- */
217
- static INC_LIST * fnamelist; /* Source file names */
218
- static INC_LIST * fname_end; /* -> active end of fnamelist */
219
- static int max_fnamelist; /* Number of fnamelist[] */
220
-
221
- /* once_list[] stores the #pragma once file names. */
222
- static INC_LIST * once_list; /* Once opened file */
223
- static INC_LIST * once_end; /* -> active end of once_list */
224
- static int max_once; /* Number of once_list[] */
225
-
226
- #define INIT_NUM_INCLUDE 32 /* Initial number of incdir[] */
227
- #define INIT_NUM_FNAMELIST 256 /* Initial number of fnamelist[] */
228
- #define INIT_NUM_ONCE 64 /* Initial number of once_list[] */
229
-
230
- /*
231
- * 'search_rule' holds searching rule of #include "header.h" to search first
232
- * before searching user specified or system-specific include directories.
233
- * 'search_rule' is initialized to SEARCH_INIT. It can be changed by -I1, -I2
234
- * or -I3 option. -I1 specifies CURRENT, -I2 SOURCE and -I3 both.
235
- */
236
-
237
- static int search_rule = SEARCH_INIT; /* Rule to search include file */
238
-
239
- static int nflag = FALSE; /* Flag of -N (-undef) option */
240
- static long std_val = -1L; /* Value of __STDC_VERSION__ or __cplusplus */
241
-
242
- #define MAX_DEF 256
243
- #define MAX_UNDEF (MAX_DEF/4)
244
- static char * def_list[ MAX_DEF]; /* Macros to be defined */
245
- static char * undef_list[ MAX_UNDEF]; /* Macros to be undefined */
246
- static int def_cnt; /* Count of def_list */
247
- static int undef_cnt; /* Count of undef_list */
248
-
249
- /* Values of mkdep. */
250
- #define MD_MKDEP 1 /* Output source file dependency line */
251
- #define MD_SYSHEADER 2 /* Print also system-header names */
252
- #define MD_FILE 4 /* Output to the file named *.d */
253
- #define MD_PHONY 8 /* Print also phony targets for each header */
254
- #define MD_QUOTE 16 /* 'Quote' $ and space in target name */
255
-
256
- static FILE * mkdep_fp; /* For -Mx option */
257
- static char * mkdep_target;
258
- /* For -MT TARGET option and for GCC's queer environment variables. */
259
- static char * mkdep_mf; /* Argument of -MF option */
260
- static char * mkdep_md; /* Argument of -MD option */
261
- static char * mkdep_mq; /* Argument of -MQ option */
262
- static char * mkdep_mt; /* Argument of -MT option */
263
-
264
- /* sharp_filename is filename for #line line, used only in cur_file() */
265
- static char * sharp_filename = NULL;
266
- static char * argv0; /* argv[ 0] for usage() and version() */
267
- static int compat_mode;
268
- /* "Compatible" mode of recursive macro expansion */
269
-
270
- #if SYSTEM == SYS_CYGWIN
271
- static int no_cygwin = FALSE; /* -mno-cygwin */
272
-
273
- #endif
274
-
275
- #define NO_DIR FALSE
276
- #if NO_DIR
277
- /* Unofficial feature to strip directory part of include file */
278
- static int no_dir;
279
- #endif
280
-
281
- void init_system( void)
282
- /* Initialize static variables */
283
- {
284
- if (sharp_filename)
285
- free( sharp_filename);
286
- sharp_filename = NULL;
287
- incend = incdir = NULL;
288
- fnamelist = once_list = NULL;
289
- search_rule = SEARCH_INIT;
290
- mb_changed = nflag = compat_mode = FALSE;
291
- mkdep_fp = NULL;
292
- mkdep_target = mkdep_mf = mkdep_md = mkdep_mq = mkdep_mt = NULL;
293
- std_val = -1L;
294
- def_cnt = undef_cnt = 0;
295
- mcpp_optind = mcpp_opterr = 1;
296
- #if SYSTEM == SYS_CYGWIN
297
- no_cygwin = FALSE;
298
- #endif
299
- #if NO_DIR
300
- no_dir = FALSE;
301
- #endif
302
- }
303
-
304
-
305
- #define OPTLISTLEN 80
306
-
307
- void do_options(
308
- int argc,
309
- char ** argv,
310
- char ** in_pp, /* Input file name */
311
- char ** out_pp /* Output file name */
312
- )
313
- /*
314
- * Process command line arguments, called only at MCPP startup.
315
- */
316
- {
317
- char optlist[ OPTLISTLEN]; /* List of option letter*/
318
- int opt;
319
- int unset_sys_dirs;
320
- /* Unset system-specific and site-specific include directories ? */
321
- int set_cplus_dir; /* Set C++ include directory ? (for GCC)*/
322
- int show_path; /* Show include directory list */
323
- int sflag; /* -S option or similar */
324
- int trad; /* -traditional */
325
- int i;
326
-
327
- argv0 = argv[ 0];
328
- nflag = unset_sys_dirs = show_path = sflag = trad = FALSE;
329
- set_cplus_dir = TRUE;
330
-
331
- /* Get current directory for -I option and #pragma once */
332
- getcwd( cur_work_dir, PATHMAX);
333
- #if SYS_FAMILY == SYS_WIN
334
- bsl2sl( cur_work_dir);
335
- #endif
336
- sprintf( cur_work_dir + strlen( cur_work_dir), "%c%c", PATH_DELIM, EOS);
337
- /* Append trailing path-delimiter */
338
-
339
- set_opt_list( optlist);
340
-
341
- opt_search: ;
342
- while (mcpp_optind < argc
343
- && (opt = mcpp_getopt( argc, argv, optlist)) != EOF) {
344
-
345
- switch (opt) { /* Command line option character */
346
-
347
- case 'C': /* Keep comments */
348
- option_flags.c = TRUE;
349
- break;
350
-
351
- case 'D': /* Define symbol */
352
- if (def_cnt >= MAX_DEF) {
353
- mcpp_fputs( "Too many -D options.\n", ERR);
354
- longjmp( error_exit, -1);
355
- }
356
- def_list[ def_cnt++] = mcpp_optarg;
357
- break;
358
-
359
- case 'e':
360
- // We support this option, but it does nothing.
361
- break;
362
-
363
- case 'I': /* Include directory */
364
- if (str_eq( mcpp_optarg, "-")) { /* -I- */
365
- unset_sys_dirs = TRUE;
366
- /* Unset pre-specified include directories */
367
- } else if (*(mcpp_optarg + 1) == EOS && isdigit( *mcpp_optarg)
368
- && (i = *mcpp_optarg - '0') != 0
369
- && (i & ~(CURRENT | SOURCE)) == 0) {
370
- search_rule = i; /* -I1, -I2 or -I3 */
371
- } else { /* Not '-' nor a digit */
372
- set_a_dir( mcpp_optarg); /* User-defined dir */
373
- }
374
- break;
375
-
376
-
377
- case 'M': /* Output source file dependency line */
378
- if (argv[ mcpp_optind - 1] == mcpp_optarg) { /* -M */
379
- mkdep |= MD_SYSHEADER;
380
- mcpp_optind--;
381
- } else {
382
- usage( opt);
383
- }
384
- mkdep |= MD_MKDEP;
385
- break;
386
-
387
- case 'U': /* Undefine macro */
388
- if (undef_cnt >= MAX_UNDEF) {
389
- mcpp_fputs( "Too many -U options.\n", ERR);
390
- longjmp( error_exit, -1);
391
- }
392
- undef_list[ undef_cnt++] = mcpp_optarg;
393
- break;
394
-
395
- default: /* What is this one? */
396
- usage( opt);
397
- break;
398
- } /* Switch on all options */
399
-
400
- } /* For all arguments */
401
-
402
- if (mcpp_optind < argc && set_files( argc, argv, in_pp, out_pp) != NULL)
403
- goto opt_search; /* More options after the filename */
404
-
405
- /* Check consistency of specified options, set some variables */
406
- chk_opts( sflag, trad);
407
-
408
- if (warn_level == -1) /* No -W option */
409
- warn_level = 1; /* Default warning level */
410
- else if (warn_level == 0xFF)
411
- warn_level = 0; /* -W0 has high precedence */
412
-
413
- set_env_dirs();
414
- if (! unset_sys_dirs)
415
- set_sys_dirs( set_cplus_dir);
416
-
417
- if (mkdep_mf) { /* -MF overrides -MD */
418
- mkdep_fp = mcpp_fopen( mkdep_mf, "w");
419
- } else if (mkdep_md) {
420
- mkdep_fp = mcpp_fopen( mkdep_md, "w");
421
- }
422
- if (mkdep_mq) /* -MQ overrides -MT */
423
- mkdep_target = mkdep_mq;
424
- else if (mkdep_mt)
425
- mkdep_target = mkdep_mt;
426
-
427
- /* Normalize the path-list */
428
- if (*in_pp && ! str_eq( *in_pp, "-")) {
429
- char * tmp = norm_path( null, *in_pp, FALSE, FALSE);
430
- if (tmp) /* The file exists */
431
- *in_pp = tmp;
432
- /* Else mcpp_main() will diagnose *in_pp and exit */
433
- }
434
- if (! (mcpp_debug & MACRO_CALL)) {
435
- if (show_path) {
436
- fp_debug = stderr;
437
- dump_path();
438
- fp_debug = stdout;
439
- }
440
- }
441
- }
442
-
443
- static void version( void)
444
- /*
445
- * Print version message.
446
- */
447
- {
448
- const char * mes[] = {
449
- /* Write messages here, for example, "MySomeTool with ". */
450
- "MCPP V.2.7.2 (2008/11)"
451
- , "https://github.com/zeroc-ice/mcpp"
452
- , "compiler-independent-build "
453
- , NULL
454
- };
455
-
456
- const char ** mpp = mes;
457
- while (*mpp)
458
- mcpp_fputs( *mpp++, ERR);
459
- }
460
-
461
- static void usage(
462
- int opt
463
- )
464
- /*
465
- * Print usage.
466
- */
467
- {
468
- const char * mes[] = {
469
-
470
- "Usage: ",
471
- "mcpp",
472
- " [-<opts> [-<opts>]] [<infile> [-<opts>] [<outfile>] [-<opts>]]\n",
473
- " <infile> defaults to stdin and <outfile> defaults to stdout.\n",
474
-
475
- "\nCommonly used options:\n",
476
-
477
- "-C Output also comments.\n",
478
- "-D <macro>[=<value>] Define <macro> as <value> (default:1).\n",
479
- "-D <macro(args)>[=<replace>] Define <macro(args)> as <replace>.\n",
480
- "-e <encoding> Change the default multi-byte character encoding to one of:\n",
481
- " euc_jp, gb2312, ksc5601, big5, sjis, iso2022_jp, utf8.\n",
482
-
483
- "-I <directory> Add <directory> to the #include search list.\n",
484
-
485
- "-I- Unset system or site specific include directories.\n",
486
-
487
- "-M file\n",
488
- " Output source file dependency line for makefile.\n",
489
- "-U <macro> Undefine <macro>.\n",
490
-
491
- "\nFor further details see mcpp-manual.html.\n",
492
- NULL,
493
- };
494
-
495
- const char * illegopt = "Incorrect option -%c%s\n";
496
- const char * const * mpp = mes;
497
-
498
- if (opt != '?')
499
- mcpp_fprintf( ERR, illegopt, opt, mcpp_optarg ? mcpp_optarg : null);
500
- version();
501
- mes[ 1] = argv0;
502
- while (*mpp)
503
- mcpp_fputs( *mpp++, ERR);
504
- longjmp( error_exit, -1);
505
- }
506
-
507
- static void set_opt_list(
508
- char * optlist
509
- )
510
- /*
511
- * Set list of legal option characters.
512
- */
513
- {
514
- const char * list[] = {
515
-
516
- #if ! STD_LINE_PREFIX
517
- "b",
518
- #endif
519
-
520
- #if SYS_FAMILY == SYS_UNIX
521
- "m:",
522
- #endif
523
-
524
- "a",
525
-
526
- NULL
527
- };
528
-
529
- const char * const * lp = & list[ 0];
530
-
531
- strcpy( optlist, "e:CD:I:M:U:");
532
- /* Default options */
533
- while (*lp)
534
- strcat( optlist, *lp++);
535
- if (strlen( optlist) >= OPTLISTLEN)
536
- cfatal( "Bug: Too long option list", NULL, 0L, NULL); /* _F_ */
537
- }
538
-
539
- static void def_a_macro(
540
- int opt, /* 'D' */
541
- char * def /* Argument of -D option */
542
- )
543
- /*
544
- * Define a macro specified by -D option.
545
- * The macro maybe either object-like or function-like (with parameter).
546
- */
547
- {
548
- DEFBUF * defp;
549
- char * definition; /* Argument of -D option */
550
- char * cp;
551
- int i;
552
-
553
- definition = xmalloc( strlen( def) + 4);
554
- strcpy( definition, def);
555
- if ((cp = strchr( definition, '=')) != NULL) {
556
- *cp = ' '; /* Remove the '=' */
557
- cp = "\n"; /* Append <newline> */
558
- } else {
559
- cp = " 1\n"; /* With definition "1" */
560
- }
561
- strcat( definition, cp);
562
- cp = definition;
563
- while ((char_type[ *cp & UCHARMAX] & SPA) == 0)
564
- cp++;
565
- i = *cp;
566
- *cp = EOS;
567
- if ((defp = look_id( definition)) != NULL) /* Pre-defined */
568
- undefine( definition);
569
- *cp = i;
570
- /* Now, save the definition. */
571
- unget_string( definition, NULL);
572
- if (do_define( FALSE, 0) == NULL) /* Define a macro */
573
- usage( opt);
574
- *cp = EOS;
575
- if (str_eq( definition, "__STDC__")) {
576
- defp = look_id( definition);
577
- defp->nargs = DEF_NOARGS_STANDARD;
578
- /* Restore Standard-predefinedness */
579
- }
580
- free( definition);
581
- skip_nl(); /* Clear the appended <newline> */
582
- }
583
-
584
- static void chk_opts(
585
- int sflag, /* Flag of Standard or post-Standard mode */
586
- int trad /* -traditional (GCC only) */
587
- )
588
- /*
589
- * Check consistency between the specified options.
590
- * Set default value of some variables for each 'mcpp_mode'.
591
- */
592
- {
593
- int incompat = FALSE;
594
-
595
- if (trad)
596
- incompat = TRUE;
597
- if (! stdc_val)
598
- stdc_val = STDC;
599
-
600
- if (compat_mode)
601
- incompat = TRUE;
602
- if ((mcpp_debug & MACRO_CALL)
603
- && option_flags.c) {
604
- mcpp_fputs( "Disabled -K option.\n", ERR);
605
- mcpp_debug &= ~MACRO_CALL;
606
- /* -a and -C options do not co-exist with -K */
607
- }
608
- if (incompat) {
609
- mcpp_fputs( "Incompatible options are specified.\n", ERR);
610
- usage( '?');
611
- }
612
-
613
- expand_init( compat_mode);
614
- /* Set function pointer to macro expansion routine */
615
- }
616
-
617
- static void init_predefines( void)
618
- /*
619
- * Set or unset predefined macros.
620
- */
621
- {
622
- char tmp[ 16];
623
-
624
- stdc_ver = stdc_val ? STDC_VERSION : 0L;
625
-
626
- if (nflag) {
627
- un_predefine( TRUE);
628
- } else if (stdc_val) {
629
- un_predefine( FALSE); /* Undefine "unix" or so */
630
- }
631
- sprintf( tmp, "%ldL", stdc_ver);
632
- if (stdc_ver)
633
- look_and_install( "__STDC_VERSION__", DEF_NOARGS_STANDARD, null
634
- , tmp);
635
- #ifdef COMPILER_CPLUS
636
- if (! nflag) /* Undefine pre-defined macro for C++ */
637
- undefine( COMPILER_CPLUS);
638
- #endif
639
- set_limit();
640
- init_std_defines();
641
- }
642
-
643
- static void init_std_defines( void)
644
- /*
645
- * For STD and POST_STD modes.
646
- * The magic pre-defines are initialized with magic argument counts.
647
- * expand_macro() notices this and calls the appropriate routine.
648
- * DEF_NOARGS is one greater than the first "magic" definition.
649
- * 'DEF_NOARGS - n' are reserved for pre-defined macros.
650
- * __STDC_VERSION__ and __cplusplus are defined by chk_opts() and set_cplus().
651
- */
652
- {
653
- char tmp[ 16];
654
- char timestr[ 14];
655
- time_t tvec;
656
- char * tstring;
657
-
658
- look_and_install( "__LINE__", DEF_NOARGS_DYNAMIC - 1, null, "-1234567890");
659
- /* Room for 11 chars (10 for long and 1 for '-' in case of wrap round. */
660
- look_and_install( "__FILE__", DEF_NOARGS_DYNAMIC - 2, null, null);
661
- /* Should be stuffed */
662
-
663
- /* Define __DATE__, __TIME__ as present date and time. */
664
- time( &tvec);
665
- tstring = ctime( &tvec);
666
- sprintf( timestr, "\"%.3s %c%c %.4s\"",
667
- tstring + 4,
668
- *(tstring + 8) == '0' ? ' ' : *(tstring + 8),
669
- *(tstring + 9),
670
- tstring + 20);
671
- look_and_install( "__DATE__", DEF_NOARGS_DYNAMIC, null, timestr);
672
- sprintf( timestr, "\"%.8s\"", tstring + 11);
673
- look_and_install( "__TIME__", DEF_NOARGS_DYNAMIC, null, timestr);
674
-
675
- if (! look_id( "__STDC_HOSTED__")) {
676
- /*
677
- * Some compilers, e.g. GCC older than 3.3, define this macro by
678
- * -D option.
679
- */
680
- sprintf( tmp, "%d", STDC_HOSTED);
681
- look_and_install( "__STDC_HOSTED__", DEF_NOARGS_PREDEF, null, tmp);
682
- }
683
- /* Define __STDC__ as 1 or such for Standard conforming compiler. */
684
- if (! look_id( "__STDC__")) {
685
- sprintf( tmp, "%d", stdc_val);
686
- look_and_install( "__STDC__", DEF_NOARGS_STANDARD, null, tmp);
687
- }
688
- }
689
-
690
- #define LINE90LIMIT 32767
691
- #define LINE_CPLUS_LIMIT 32767
692
-
693
- static void set_limit( void)
694
- /*
695
- * Set the minimum translation limits specified by the Standards.
696
- */
697
- {
698
- /* Specified by C 1990 Standard */
699
- std_limits.str_len = SLEN90MIN;
700
- std_limits.id_len = IDLEN90MIN;
701
- std_limits.n_mac_pars = NMACPARS90MIN;
702
- std_limits.exp_nest = EXP_NEST90MIN;
703
- std_limits.blk_nest = BLK_NEST90MIN;
704
- std_limits.inc_nest = INCLUDE_NEST90MIN;
705
- std_limits.n_macro = NMACRO90MIN;
706
- std_limits.line_num = LINE90LIMIT;
707
- }
708
-
709
-
710
- void init_sys_macro( void)
711
- /*
712
- * Define system-specific macros and some Standard required macros
713
- * and undefine macros specified by -U options.
714
- */
715
- {
716
- /* This order is important. */
717
- def_macros(); /* Define macros specified by -D */
718
- init_predefines(); /* Define predefined macros */
719
- undef_macros(); /* Undefine macros specified by -U */
720
- if (mcpp_debug & MACRO_CALL)
721
- dump_def( FALSE, TRUE); /* Finally putout current macro names */
722
- }
723
-
724
- void at_start( void)
725
- /*
726
- * Do the commands prior to processing main source file after do_options().
727
- */
728
- {
729
- FILEINFO * file_saved = infile;
730
-
731
- // We don't support changing the encodings.
732
-
733
- put_info( file_saved);
734
- }
735
-
736
- static void put_info(
737
- FILEINFO * sharp_file
738
- )
739
- /*
740
- * Putout compiler-specific information.
741
- */
742
- {
743
- if (no_output)
744
- return;
745
- sharp_file->line++;
746
- sharp( sharp_file, 0);
747
- sharp_file->line--;
748
- }
749
-
750
- static char * set_files(
751
- int argc,
752
- char ** argv,
753
- char ** in_pp,
754
- char ** out_pp
755
- )
756
- /*
757
- * Set input and/or output files.
758
- */
759
- {
760
- char * cp;
761
-
762
- if (*in_pp == NULL) { /* Input file */
763
- cp = argv[ mcpp_optind++];
764
- #if SYS_FAMILY == SYS_WIN
765
- cp = bsl2sl( cp);
766
- #endif
767
- *in_pp = cp;
768
- }
769
- if (mcpp_optind < argc && argv[ mcpp_optind][ 0] != '-'
770
- && *out_pp == NULL) {
771
- cp = argv[ mcpp_optind++];
772
- #if SYS_FAMILY == SYS_WIN
773
- cp = bsl2sl( cp);
774
- #endif
775
- *out_pp = cp; /* Output file */
776
- }
777
- if (mcpp_optind >= argc)
778
- return NULL; /* Exhausted command line arguments */
779
- if (argv[ mcpp_optind][ 0] == '-')
780
- return argv[ mcpp_optind]; /* More options */
781
- cfatal( "Excessive file argument \"%s\"", argv[ mcpp_optind], 0L , NULL);
782
- return NULL;
783
- }
784
-
785
- static void set_env_dirs( void)
786
- /*
787
- * Add to include path those specified by environment variables.
788
- */
789
- {
790
- const char * env;
791
-
792
- if ((env = getenv( ENV_C_INCLUDE_DIR)) != NULL)
793
- parse_env( env);
794
- }
795
-
796
- static void parse_env(
797
- const char * env
798
- )
799
- /*
800
- * Parse environmental variable and append the path to include-dir-list.
801
- */
802
- {
803
- char * save;
804
- char * save_start;
805
- char * p;
806
- int sep;
807
-
808
- save = save_start = save_string( env);
809
- while (*save) {
810
- p = save;
811
- while (*p && *p != ENV_SEP)
812
- p++;
813
- if (p != save) { /* Variable separator */
814
- sep = *p;
815
- *p = EOS;
816
- set_a_dir( save);
817
- if (sep == EOS)
818
- break;
819
- save = ++p;
820
- }
821
- while (*save == ENV_SEP)
822
- ++save;
823
- }
824
- free( save_start);
825
- }
826
-
827
- static void set_sys_dirs(
828
- int set_cplus_dir /* Set C++ include-directory too */
829
- )
830
- /*
831
- * Set site-specific and system-specific directories to the include directory
832
- * list.
833
- */
834
- {
835
- #if SYS_FAMILY == SYS_UNIX
836
- set_a_dir( "/usr/local/include");
837
- #endif
838
-
839
- #ifdef C_INCLUDE_DIR1
840
- set_a_dir( C_INCLUDE_DIR1);
841
- #endif
842
- #ifdef C_INCLUDE_DIR2
843
- set_a_dir( C_INCLUDE_DIR2);
844
- #endif
845
-
846
- #if SYS_FAMILY == SYS_UNIX
847
- #if SYSTEM == SYS_CYGWIN
848
- if (no_cygwin) /* -mno-cygwin */
849
- set_a_dir( "/usr/include/mingw");
850
- else
851
- set_a_dir( "/usr/include");
852
- #else
853
- set_a_dir( "/usr/include"); /* Should be placed after C_INCLUDE_DIR? */
854
- #endif
855
- #endif
856
- }
857
-
858
- static void set_a_dir(
859
- const char * dirname /* The path-name */
860
- )
861
- /*
862
- * Append an include directory.
863
- * This routine is called from the following routines (in this order).
864
- * 1. do_options() by -I option.
865
- * 2. do_options() by -isystem option (for GNUC).
866
- * 3. set_env_dirs() by environment variables.
867
- * 4. set_sys_dirs() by CPLUS_INCLUDE_DIR?, C_INCLUDE_DIR? and system-
868
- * specifics (unless -I- or -nostdinc option is specified).
869
- * Ignore non-existent directory.
870
- * Note that this routine should be called only in initializing steps,
871
- * because increase of include dirs causes reallocation of incdir[].
872
- * Note: a trailing PATH-DELIM is appended by norm_path().
873
- */
874
- {
875
- char * norm_name;
876
- const char ** ip;
877
-
878
- if (incdir == NULL) { /* Should be initialized */
879
- max_inc = INIT_NUM_INCLUDE;
880
- incdir = (const char **) xmalloc( sizeof (char *) * max_inc);
881
- incend = &incdir[ 0];
882
- } else if (incend - incdir >= max_inc) { /* Buffer full */
883
- incdir = (const char **) xrealloc( (void *) incdir
884
- , sizeof (char *) * max_inc * 2);
885
- incend = &incdir[ max_inc];
886
- max_inc *= 2;
887
- }
888
-
889
- if (dirname == NULL)
890
- return; /* Only to initialize incdir[] */
891
- norm_name = norm_dir( dirname, FALSE);
892
- if (! norm_name) /* Non-existent */
893
- return;
894
- for (ip = incdir; ip < incend; ip++) {
895
- if (str_case_eq( *ip, norm_name)) {
896
- free( norm_name); /* Already registered */
897
- return;
898
- }
899
- }
900
- /* Register new directory */
901
- *incend++ = norm_name;
902
- }
903
-
904
- static char * norm_dir(
905
- const char * dirname, /* Directory path to normalize */
906
- int framework /* Setting a framework directory*/
907
- )
908
- /*
909
- * Normalize include directory path.
910
- * Handle -isysroot option for GCC, including framework directory for SYS_MAC.
911
- */
912
- {
913
- char * norm_name;
914
-
915
- {
916
- norm_name = norm_path( dirname, NULL, FALSE, FALSE);
917
- /* Normalize the pathname to compare */
918
- }
919
-
920
- return norm_name;
921
- }
922
-
923
- static char * norm_path(
924
- const char * dir, /* Include directory (maybe "", never NULL) */
925
- const char * fname,
926
- /* Filename (possibly has directory part, or maybe NULL) */
927
- int inf, /* If TRUE, output some infs when (mcpp_debug & PATH) */
928
- int hmap /* "header map" file of Apple-GCC */
929
- )
930
- /*
931
- * Normalize the pathname removing redundant components such as
932
- * "foo/../", "./" and trailing "/.".
933
- * Append trailing "/" if 'fname' is NULL.
934
- * Change relative path to absolute path.
935
- * Dereference a symbolic linked file (or directory) to a real directory/file.
936
- * Return a malloc'ed buffer, if the directory/file exists.
937
- * Return NULL, if the specified directory/file does not exist or 'dir' is
938
- * not a directory or 'fname' is not a regular file.
939
- * This routine is called from set_a_dir(), init_gcc_macro(), do_once() and
940
- * open_file().
941
- */
942
- {
943
- char * norm_name; /* The path-list converted */
944
- char * start;
945
- char * cp1;
946
- char * cp2;
947
- char * abs_path;
948
- int len; /* Should not be size_t */
949
- size_t start_pos = 0;
950
- char slbuf1[ PATHMAX+1]; /* Working buffer */
951
- #if SYS_FAMILY == SYS_UNIX
952
- char slbuf2[ PATHMAX+1]; /* Working buffer for dereferencing */
953
- #endif
954
- #if SYSTEM == SYS_CYGWIN || SYSTEM == SYS_MINGW
955
- static char * root_dir;
956
- /* System's root directory in Windows file system */
957
- static size_t root_dir_len;
958
- #if SYSTEM == SYS_CYGWIN
959
- static char * cygdrive = "/cygdrive/"; /* Prefix for drive letter */
960
- #else
961
- static char * mingw_dir; /* "/mingw" dir in Windows */
962
- static size_t mingw_dir_len;
963
- #endif
964
- #endif
965
- #if HOST_COMPILER == MSC
966
- struct _stat st_buf;
967
- #else
968
- struct stat st_buf;
969
- #endif
970
-
971
- if (! dir || (*dir && is_full_path( fname)))
972
- cfatal( "Bug: Wrong argument to norm_path()" /* _F_ */
973
- , NULL, 0L, NULL);
974
- inf = inf && (mcpp_debug & PATH); /* Output information */
975
-
976
- strcpy( slbuf1, dir); /* Include directory */
977
- len = strlen( slbuf1);
978
- if (fname && len && slbuf1[ len - 1] != PATH_DELIM) {
979
- slbuf1[ len] = PATH_DELIM; /* Append PATH_DELIM */
980
- slbuf1[ ++len] = EOS;
981
- } else if (! fname && len && slbuf1[ len - 1] == PATH_DELIM) {
982
- /* stat() of some systems do not like trailing '/' */
983
- slbuf1[ --len] = EOS;
984
- }
985
- if (fname)
986
- strcat( slbuf1, fname);
987
- if (stat( slbuf1, & st_buf) != 0 /* Non-existent */
988
- || (! fname && ! S_ISDIR( st_buf.st_mode))
989
- /* Not a directory though 'fname' is not specified */
990
- || (fname && ! S_ISREG( st_buf.st_mode)))
991
- /* Not a regular file though 'fname' is specified */
992
- return NULL;
993
- if (! fname) {
994
- slbuf1[ len] = PATH_DELIM; /* Append PATH_DELIM */
995
- slbuf1[ ++len] = EOS;
996
- }
997
- #if SYS_FAMILY == SYS_UNIX
998
- /* Dereference symbolic linked directory or file, if any */
999
- slbuf1[ len] = EOS; /* Truncate PATH_DELIM and 'fname' part, if any */
1000
- slbuf2[ 0] = EOS;
1001
- if (*dir && ! fname) { /* Registering include directory */
1002
- /* Symbolic link check of directories are required */
1003
- deref_syml( slbuf1, slbuf2, slbuf1);
1004
- } else if (fname) { /* Regular file */
1005
- len = strlen( slbuf1);
1006
- strcat( slbuf1, fname);
1007
- deref_syml( slbuf1, slbuf2, slbuf1 + len);
1008
- /* Symbolic link check of directory */
1009
- if ((len = readlink( slbuf1, slbuf2, PATHMAX)) > 0) {
1010
- /* Dereference symbolic linked file (not directory) */
1011
- *(slbuf2 + len) = EOS;
1012
- cp1 = slbuf1;
1013
- if (slbuf2[ 0] != PATH_DELIM) { /* Relative path */
1014
- cp2 = strrchr( slbuf1, PATH_DELIM);
1015
- if (cp2) /* Append to the source directory */
1016
- cp1 = cp2 + 1;
1017
- }
1018
- strcpy( cp1, slbuf2);
1019
- }
1020
- }
1021
- if (inf) {
1022
- if (slbuf2[ 0])
1023
- mcpp_fprintf( DBG, "Dereferenced \"%s%s\" to \"%s\"\n"
1024
- , dir, fname ? fname : null, slbuf1);
1025
- }
1026
- #endif
1027
- len = strlen( slbuf1);
1028
- start = norm_name = xmalloc( len + 1); /* Need a new buffer */
1029
- strcpy( norm_name, slbuf1);
1030
- #if SYS_FAMILY == SYS_WIN
1031
- bsl2sl( norm_name);
1032
- #endif
1033
- #if SPECIAL_PATH_DELIM /* ':' ? */
1034
- for (cp1 = norm_name; *cp1 != EOS; cp1++) {
1035
- if (*cp1 == PATH_DELIM)
1036
- *cp1 = '/';
1037
- }
1038
- #endif
1039
- cp1 = norm_name;
1040
-
1041
- #if SYSTEM == SYS_CYGWIN
1042
- /* Convert to "/cygdirve/x/dir" style of absolute path-list */
1043
- if (len >= 8 && (memcmp( cp1, "/usr/bin", 8) == 0
1044
- || memcmp( cp1, "/usr/lib", 8) == 0)) {
1045
- memmove( cp1, cp1 + 4, len - 4 + 1); /* Remove "/usr" */
1046
- len -= 4;
1047
- }
1048
- if (*cp1 == '/' && (len < 10 || memcmp( cp1, cygdrive, 10) != 0)) {
1049
- /* /dir, not /cygdrive/ */
1050
- if (! root_dir_len) { /* Should be initialized */
1051
- /* Convert "X:\DIR-list" to "/cygdrive/x/dir-list" */
1052
- root_dir = xmalloc( strlen( CYGWIN_ROOT_DIRECTORY) + 1);
1053
- strcpy( root_dir, CYGWIN_ROOT_DIRECTORY);
1054
- *(root_dir + 1) = *root_dir; /* "x:/" to " x/" */
1055
- cp1 = xmalloc( strlen( cygdrive) + strlen( root_dir));
1056
- strcpy( cp1, cygdrive);
1057
- strcat( cp1, root_dir + 1);
1058
- free( root_dir);
1059
- root_dir = cp1;
1060
- root_dir_len = strlen( root_dir);
1061
- }
1062
- cp1 = xmalloc( root_dir_len + len + 1);
1063
- strcpy( cp1, root_dir);
1064
- strcat( cp1, norm_name); /* Convert to absolute path */
1065
- free( norm_name);
1066
- norm_name = start = cp1;
1067
- len += root_dir_len;
1068
- }
1069
- #endif
1070
-
1071
- #if SYSTEM == SYS_MINGW
1072
- /* Handle the mess of MinGW's path-list */
1073
- /* Convert to "x:/dir" style of absolute path-list */
1074
- if (*cp1 == PATH_DELIM && isalpha( *(cp1 + 1))
1075
- && *(cp1 + 2) == PATH_DELIM) { /* /c/, /d/, etc*/
1076
- *cp1 = *(cp1 + 1);
1077
- *(cp1 + 1) = ':'; /* Convert to c:/, d:/, etc */
1078
- } else if (memcmp( cp1, "/mingw", 6) == 0) {
1079
- if (! mingw_dir_len) { /* Should be initialized */
1080
- mingw_dir_len = strlen( MINGW_DIRECTORY);
1081
- mingw_dir = xmalloc( mingw_dir_len + 1);
1082
- strcpy( mingw_dir, MINGW_DIRECTORY);
1083
- }
1084
- cp1 = xmalloc( mingw_dir_len + len + 1);
1085
- strcpy( cp1, mingw_dir);
1086
- strcat( cp1, norm_name + 6); /* Convert to absolute path */
1087
- free( norm_name);
1088
- norm_name = start = cp1;
1089
- len += mingw_dir_len;
1090
- } else if (memcmp( cp1, "/usr", 4) == 0) {
1091
- memmove( cp1, cp1 + 4, len - 4 + 1); /* Remove "/usr" */
1092
- len -= 4;
1093
- }
1094
- if (*cp1 == '/') { /* /dir or / */
1095
- if (! root_dir_len) { /* Should be initialized */
1096
- root_dir_len = strlen( MSYS_ROOT_DIRECTORY);
1097
- root_dir = xmalloc( root_dir_len + 1);
1098
- strcpy( root_dir, MSYS_ROOT_DIRECTORY);
1099
- }
1100
- cp1 = xmalloc( root_dir_len + len + 1);
1101
- strcpy( cp1, root_dir);
1102
- strcat( cp1, norm_name); /* Convert to absolute path */
1103
- free( norm_name);
1104
- norm_name = start = cp1;
1105
- len += root_dir_len;
1106
- }
1107
- #endif
1108
-
1109
- #if SYS_FAMILY == SYS_WIN
1110
- if (*(cp1 + 1) == ':')
1111
- start = cp1 += 2; /* Next to the drive letter */
1112
- start_pos = 2;
1113
- #endif
1114
- if (len == 1 && *norm_name == '/') /* Only "/" */
1115
- return norm_name;
1116
-
1117
- if (strncmp( cp1, "./", 2) == 0) /* Remove beginning "./" */
1118
- memmove( cp1, cp1 + 2, strlen( cp1 + 2) + 1); /* +1 for EOS */
1119
- if (*start != '/') { /* Relative path to current directory */
1120
- /* Make absolute path */
1121
- abs_path = xmalloc( len + strlen( cur_work_dir) + 1);
1122
- cp1 = stpcpy( abs_path, cur_work_dir);
1123
- strcpy( cp1, start);
1124
- free( norm_name);
1125
- norm_name = abs_path;
1126
- start = cp1 = norm_name + start_pos;
1127
- }
1128
-
1129
- while ((cp1 = strstr( cp1, "/./")) != NULL)
1130
- memmove( cp1, cp1 + 2, strlen( cp1 + 2) + 1);
1131
- /* Remove "/." of "/./" */
1132
- cp1 = start;
1133
- /* Remove redundant "foo/../" */
1134
- while ((cp1 = strstr( cp1, "/../")) != NULL) {
1135
- *cp1 = EOS;
1136
- if ((cp2 = strrchr( start, '/')) != NULL) {
1137
- if (*(cp1 - 1) != '.') {
1138
- memmove( cp2 + 1, cp1 + 4, strlen( cp1 + 4) + 1);
1139
- /* Remove "foo/../" */
1140
- cp1 = cp2;
1141
- } else { /* Impossible */
1142
- break;
1143
- }
1144
- } else { /* Impossible */
1145
- break;
1146
- }
1147
- }
1148
-
1149
- #if SPECIAL_PATH_DELIM
1150
- for (cp1 = start; *cp1 != EOS; cp1++) {
1151
- if (*cp1 == '/')
1152
- *cp1 = PATH_DELIM;
1153
- }
1154
- #endif
1155
- if (inf) {
1156
- char debug_buf[ PATHMAX+1];
1157
- strcpy( debug_buf, dir);
1158
- strcat( debug_buf, fname ? fname : null);
1159
- #if SYS_FAMILY == SYS_WIN
1160
- bsl2sl( debug_buf);
1161
- #endif
1162
- if (! str_eq( debug_buf, norm_name))
1163
- mcpp_fprintf( DBG, "Normalized the path \"%s\" to \"%s\"\n"
1164
- , debug_buf, norm_name);
1165
- }
1166
-
1167
- return norm_name;
1168
- }
1169
-
1170
- #if SYS_FAMILY == SYS_UNIX
1171
-
1172
- static void deref_syml(
1173
- char * slbuf1, /* Original path-list */
1174
- char * slbuf2, /* Working buffer */
1175
- char * chk_start /* Pointer into slbuf1 */
1176
- )
1177
- /* Dereference symbolic linked directory */
1178
- {
1179
- char * cp2;
1180
- int len; /* Should be int, not size_t */
1181
-
1182
- while ((chk_start = strchr( chk_start, PATH_DELIM)) != NULL) {
1183
- *chk_start = EOS;
1184
- if ((len = readlink( slbuf1, slbuf2, PATHMAX)) > 0) {
1185
- /* Dereference symbolic linked directory */
1186
- cp2 = strrchr( slbuf1, PATH_DELIM); /* Previous delimiter */
1187
- *chk_start = PATH_DELIM;
1188
- strcpy( slbuf2 + len, chk_start);
1189
- if (slbuf2[ 0] == PATH_DELIM) { /* Absolute path */
1190
- strcpy( slbuf1, slbuf2);
1191
- chk_start = slbuf1 + len + 1;
1192
- } else {
1193
- if (cp2)
1194
- chk_start = cp2 + 1;
1195
- else
1196
- chk_start = slbuf1;
1197
- strcpy( chk_start, slbuf2); /* Rewrite the path */
1198
- chk_start += len;
1199
- }
1200
- } else {
1201
- *chk_start++ = PATH_DELIM;
1202
- }
1203
- }
1204
- }
1205
- #endif
1206
-
1207
- static void def_macros( void)
1208
- /*
1209
- * Define macros specified by -D option.
1210
- * This routine should be called before undef_macros().
1211
- */
1212
- {
1213
- int i;
1214
-
1215
- for (i = 0; i < def_cnt; i++)
1216
- def_a_macro( 'D', def_list[ i]);
1217
- }
1218
-
1219
- static void undef_macros( void)
1220
- /*
1221
- * Undefine macros specified by -U option.
1222
- * This routine should be called after init_predefine().
1223
- */
1224
- {
1225
- char * name;
1226
- int i;
1227
-
1228
- for (i = 0; i < undef_cnt; i++) {
1229
- name = undef_list[ i];
1230
- if (look_id( name) != NULL)
1231
- undefine( name);
1232
- else if (warn_level & 8)
1233
- mcpp_fprintf( ERR, "\"%s\" wasn't defined\n", name);
1234
- }
1235
- }
1236
-
1237
- void put_depend(
1238
- const char * filename
1239
- )
1240
- /*
1241
- * Append a header name to the source file dependency line.
1242
- */
1243
- {
1244
- #define MAX_OUT_LEN 76 /* Maximum length of output line */
1245
- #define MKDEP_INITLEN (MKDEP_INIT * 0x100)
1246
- #define MKDEP_MAX (MKDEP_INIT * 0x10)
1247
- #define MKDEP_MAXLEN (MKDEP_INITLEN * 0x10)
1248
-
1249
- static char * output = NULL; /* File names */
1250
- static size_t * pos = NULL; /* Offset to filenames */
1251
- static int pos_num; /* Index of pos[] */
1252
- static char * out_p; /* Pointer to output[] */
1253
- static size_t mkdep_len; /* Size of output[] */
1254
- static size_t pos_max; /* Size of pos[] */
1255
- static FILE * fp; /* Path to output dependency line */
1256
- static size_t llen; /* Length of current physical output line */
1257
- size_t * pos_p; /* Index into pos[] */
1258
- size_t fnamlen; /* Length of filename */
1259
-
1260
- if (fp == NULL) { /* Main source file. Have to initialize. */
1261
- if (output != NULL) {
1262
- free( output);
1263
- free( pos);
1264
- }
1265
- output = xmalloc( mkdep_len = MKDEP_INITLEN);
1266
- pos = (size_t *) xmalloc( (pos_max = MKDEP_INIT) * sizeof (size_t));
1267
- out_p = md_init( filename, output);
1268
- fp = mkdep_fp;
1269
- llen = strlen( output);
1270
- pos_num = 0; /* Initialize for MCPP_LIB build */
1271
- } else if (filename == NULL) { /* End of input */
1272
- out_p = stpcpy( out_p, "\n\n");
1273
- if (mkdep & MD_PHONY) {
1274
- /* Output the phony target line for each recorded header files. */
1275
- char * cp;
1276
- int c;
1277
-
1278
- if (strlen( output) * 2 + (pos_num * 2) >= MKDEP_MAXLEN) {
1279
- cerror( "Too long dependency line" /* _E_ */
1280
- , NULL, 0L, NULL);
1281
- if (fp == fp_out)
1282
- mcpp_fputs( output, OUT);
1283
- else
1284
- fputs( output, fp);
1285
- return;
1286
- } else if (strlen( output) * 2 + (pos_num * 2) >= mkdep_len) {
1287
- /* Enlarge the buffer */
1288
- size_t len = out_p - output;
1289
- output = xrealloc( output, mkdep_len *= 2);
1290
- out_p = output + len;
1291
- }
1292
- pos_num--;
1293
- for (pos_p = &pos[ 0]; pos_p <= &pos[ pos_num]; pos_p++) {
1294
- if (pos_p == &pos[ pos_num]) { /* End of output */
1295
- for (cp = output + *pos_p; *cp != '\n'; cp++)
1296
- ;
1297
- c = '\n'; /* Append newline */
1298
- } else {
1299
- cp = output + *(pos_p + 1) - 1;
1300
- while( *cp == ' ' || *cp == '\\' || *cp == '\n')
1301
- cp--; /* Remove trailing spaces */
1302
- c = *(++cp);
1303
- }
1304
- *cp = EOS;
1305
- out_p = stpcpy( out_p, output + *pos_p);
1306
- out_p = stpcpy( out_p, ":\n\n");
1307
- *cp = c;
1308
- }
1309
- }
1310
- if (fp == fp_out) { /* To the same path with normal preprocessing */
1311
- mcpp_fputs( output, OUT);
1312
- } else { /* To the file specified by -MF, -MD, -MMD options */
1313
- fputs( output, fp);
1314
- fclose( fp);
1315
- }
1316
- fp = NULL; /* Clear for the next call in MCPP_LIB build */
1317
- return;
1318
- }
1319
-
1320
- fnamlen = strlen( filename);
1321
- /* Check the recorded filename */
1322
- for (pos_p = pos; pos_p < &pos[ pos_num]; pos_p++) {
1323
- if (memcmp( output + *pos_p, filename, fnamlen) == 0)
1324
- return; /* Already recorded filename */
1325
- }
1326
- /* Any new header. Append its name to output. */
1327
- if (llen + fnamlen > MAX_OUT_LEN) { /* Line is long */
1328
- out_p = stpcpy( out_p, " \\\n "); /* Fold it */
1329
- llen = 1;
1330
- }
1331
- llen += fnamlen + 1;
1332
- if (pos_num >= MKDEP_MAX
1333
- || out_p + fnamlen + 1 >= output + MKDEP_MAXLEN)
1334
- cfatal( "Too long dependency line: %s", output, 0L, NULL);
1335
- /* Need to enlarge the buffer */
1336
- if (pos_num >= pos_max) {
1337
- pos = (size_t *) xrealloc( (char *) pos
1338
- , (pos_max *= 2) * sizeof (size_t *));
1339
- }
1340
- if (output + mkdep_len <= out_p + fnamlen + 1) {
1341
- size_t len = out_p - output;
1342
- output = xrealloc( output, mkdep_len *= 2);
1343
- out_p = output + len;
1344
- }
1345
- *out_p++ = ' ';
1346
- pos[ pos_num++] = out_p - output; /* Remember the offset */
1347
- /* Don't use pointer, since 'output' may be reallocated later. */
1348
- out_p = stpcpy( out_p, filename);
1349
- }
1350
-
1351
- static char * md_init(
1352
- const char * filename, /* The source file name */
1353
- char * output /* Output to dependency file */
1354
- )
1355
- /*
1356
- * Initialize output file and target.
1357
- */
1358
- {
1359
- char prefix[ PATHMAX];
1360
- char * cp = NULL;
1361
- size_t len;
1362
- char * out_p;
1363
- const char * target = filename;
1364
- const char * cp0;
1365
-
1366
- if (! mkdep_target || ! mkdep_fp) { /* Make target name */
1367
- #ifdef PATH_DELIM
1368
- if ((cp0 = strrchr( target, PATH_DELIM)) != NULL)
1369
- target = cp0 + 1;
1370
- #endif
1371
- if ((cp0 = strrchr( target, '.')) == NULL)
1372
- len = strlen( target);
1373
- else
1374
- len = (size_t) (cp0 - target);
1375
- memcpy( prefix, target, len);
1376
- cp = prefix + len;
1377
- *cp++ = '.';
1378
- }
1379
-
1380
- if (! mkdep_fp) { /* Unless already opened by -MF, -MD, -MMD options */
1381
- if (mkdep & MD_FILE) {
1382
- strcpy( cp, "d");
1383
- mkdep_fp = mcpp_fopen(prefix, "w");
1384
- } else {
1385
- mkdep_fp = fp_out; /* Output dependency line to normal output */
1386
- no_output++; /* Without normal output */
1387
- }
1388
- }
1389
-
1390
- if (mkdep_target) { /* -MT or -MQ option is specified */
1391
- if (mkdep & MD_QUOTE) { /* 'Quote' $, \t and space */
1392
- out_p = md_quote( output);
1393
- } else {
1394
- out_p = stpcpy( output, mkdep_target);
1395
- }
1396
- } else {
1397
- strcpy( cp, OBJEXT);
1398
- out_p = stpcpy( output, prefix);
1399
- }
1400
-
1401
- *out_p++ = ':';
1402
- *out_p = EOS;
1403
- return out_p;
1404
- }
1405
-
1406
- static char * md_quote(
1407
- char * output
1408
- )
1409
- /*
1410
- * 'Quote' $, tab and space.
1411
- * This function was written referring to GCC V.3.2 source.
1412
- */
1413
- {
1414
- char * p;
1415
- char * q;
1416
-
1417
- for (p = mkdep_target; *p; p++, output++) {
1418
- switch (*p) {
1419
- case ' ':
1420
- case '\t':
1421
- /* GNU-make treats backslash-space sequence peculiarly */
1422
- for (q = p - 1; mkdep_target <= q && *q == '\\'; q--)
1423
- *output++ = '\\';
1424
- *output++ = '\\';
1425
- break;
1426
- case '$':
1427
- *output++ = '$';
1428
- break;
1429
- default:
1430
- break;
1431
- }
1432
- *output = *p;
1433
- }
1434
- *output = EOS;
1435
- return output;
1436
- }
1437
-
1438
- static const char * toolong_fname =
1439
- "Too long header name \"%s%.0ld%s\""; /* _F_ */
1440
- static const char * excess_token =
1441
- "Excessive token sequence \"%s\""; /* _E_, _W1_ */
1442
-
1443
- int do_include(
1444
- int next /* TRUE if the directive is #include_next */
1445
- )
1446
- /*
1447
- * Process the #include line.
1448
- * There are three variations:
1449
- * #include "file" search somewhere relative to the
1450
- * current (or source) directory, if not
1451
- * found, treat as #include <file>.
1452
- * #include <file> Search in an implementation-dependent
1453
- * list of places.
1454
- * #include macro-call Expand the macro call, it must be one of
1455
- * "file" or <file>, process as such.
1456
- * On success : return TRUE;
1457
- * On failure of syntax : return FALSE;
1458
- * On failure of file opening : return FALSE.
1459
- * do_include() always absorbs the line (including the <newline>).
1460
- */
1461
- {
1462
- const char * const no_name = "No header name"; /* _E_ */
1463
- char header[ PATHMAX + 16];
1464
- int token_type;
1465
- char * fname;
1466
- char * filename;
1467
- int delim; /* " or <, > */
1468
-
1469
- if ((delim = skip_ws()) == '\n') { /* No argument */
1470
- cerror( no_name, NULL, 0L, NULL);
1471
- return FALSE;
1472
- }
1473
- fname = infile->bptr - 1; /* Current token for diagnosis */
1474
-
1475
- if ((char_type[ delim] & LET)) { /* Maybe macro */
1476
- int c;
1477
- char *hp;
1478
-
1479
- hp = header;
1480
- *hp = EOS;
1481
- c = delim;
1482
- while (get_unexpandable( c, FALSE) != NO_TOKEN) {
1483
- /* Expand any macros in the line */
1484
- if (header + PATHMAX < hp + (int) (workp - work_buf))
1485
- cfatal( toolong_fname, header, 0L, work_buf);
1486
- hp = stpcpy( hp, work_buf);
1487
- while (char_type[ c = get_ch()] & HSP)
1488
- *hp++ = c;
1489
- }
1490
- *hp = EOS; /* Ensure to terminate */
1491
- if (macro_line == MACRO_ERROR) /* Unterminated macro */
1492
- return FALSE; /* already diagnosed. */
1493
- unget_string( header, NULL); /* To re-read */
1494
- delim = skip_ws();
1495
- if (delim == '\n') {
1496
- cerror( no_name, NULL, 0L, NULL); /* Expanded to */
1497
- return FALSE; /* 0 token. */
1498
- }
1499
- }
1500
-
1501
- token_type = scan_token( delim, (workp = work_buf, &workp)
1502
- , work_buf + PATHMAX);
1503
- if (token_type == STR) /* String literal form */
1504
- goto found_name;
1505
- else if (token_type == OPE && openum == OP_LT) /* '<' */
1506
- workp = scan_quote( delim, work_buf, work_buf + PATHMAX, TRUE);
1507
- /* Re-construct or diagnose */
1508
- else /* Any other token in- */
1509
- goto not_header; /* cluding <=, <<, <% */
1510
-
1511
- if (workp == NULL) /* Missing closing '>' */
1512
- goto syntax_error;
1513
-
1514
- found_name:
1515
- *--workp = EOS; /* Remove the closing and */
1516
- fname = save_string( &work_buf[ 1]); /* the starting delimiter. */
1517
-
1518
- if (skip_ws() != '\n') {
1519
- cerror( excess_token, infile->bptr-1, 0L, NULL);
1520
- skip_nl();
1521
- goto error;
1522
- }
1523
-
1524
- #if SYS_FAMILY == SYS_WIN
1525
- bsl2sl( fname);
1526
- #endif
1527
- filename = fname;
1528
- #if NO_DIR /* Unofficial feature */
1529
- if (no_dir) { /* Strip directory components */
1530
- char src_dir[ PATHMAX] = { EOS, };
1531
- if (has_directory( fname, src_dir))
1532
- filename = fname + strlen( src_dir);
1533
- delim = '"'; /* Even a system header is handled as a local one */
1534
- }
1535
- #endif
1536
- if (open_include( filename, (delim == '"'), next)) {
1537
- /* 'fname' should not be free()ed, it is used as file-> */
1538
- /* real_fname and has been registered into fnamelist[] */
1539
- return TRUE;
1540
- }
1541
-
1542
- cerror( "Can't open include file \"%s\"", filename, 0L, NULL); /* _E_ */
1543
- error:
1544
- free( fname);
1545
- return FALSE;
1546
-
1547
- not_header:
1548
- cerror( "Not a header name \"%s\"", fname, 0L, NULL); /* _E_ */
1549
- syntax_error:
1550
- skip_nl();
1551
- return FALSE;
1552
- }
1553
-
1554
- static int open_include(
1555
- char * filename, /* File name to include */
1556
- int searchlocal, /* TRUE if #include "file" */
1557
- int next /* TRUE if #include_next */
1558
- )
1559
- /*
1560
- * Open an include file. This routine is only called from do_include() above.
1561
- * It searches the list of directories via search_dir() and opens the file
1562
- * via open_file(), linking it into the list of active files.
1563
- * Returns TRUE if the file was opened, FALSE if it fails.
1564
- */
1565
- {
1566
- char src_dir[ PATHMAX] = { EOS, }; /* Directory part of includer */
1567
- int full_path; /* Filename is full-path-list */
1568
- int has_dir = FALSE; /* Includer has directory part */
1569
- int has_dir_src = FALSE;
1570
- int has_dir_fname = FALSE;
1571
-
1572
- full_path = is_full_path( filename);
1573
-
1574
- if (!full_path && searchlocal && (search_rule & SOURCE)) {
1575
- has_dir_src = has_directory( infile->src_dir, src_dir);
1576
- has_dir_fname = has_directory( infile->real_fname
1577
- , src_dir + strlen( src_dir));
1578
- /* Get directory part of the parent file of the file to include.*/
1579
- /* Note that infile->dirp of main input file is set to "" and */
1580
- /* remains the same even if -include options are processed. */
1581
- has_dir = has_dir_src || has_dir_fname
1582
- || (**(infile->dirp) != EOS);
1583
- }
1584
- if (mcpp_debug & PATH)
1585
- mcpp_fprintf( DBG, "filename: %s\n", filename);
1586
-
1587
- if ((searchlocal && ((search_rule & CURRENT) || !has_dir)) || full_path) {
1588
- /*
1589
- * Look in local directory first.
1590
- * Try to open filename relative to the "current directory".
1591
- */
1592
- if (open_file( &null, NULL, filename, searchlocal && !full_path
1593
- , FALSE, FALSE))
1594
- return TRUE;
1595
- if (full_path)
1596
- return FALSE;
1597
- }
1598
-
1599
- if (searchlocal && (search_rule & SOURCE) && has_dir) {
1600
- /*
1601
- * Look in local directory of source file.
1602
- * Try to open filename relative to the "source directory".
1603
- */
1604
- if (open_file( infile->dirp, src_dir, filename, TRUE, FALSE, FALSE))
1605
- return TRUE;
1606
- }
1607
-
1608
- /* Search the include directories */
1609
- if (search_dir( filename, searchlocal, next))
1610
- return TRUE;
1611
-
1612
- return FALSE;
1613
- }
1614
-
1615
- static int has_directory(
1616
- const char * source, /* Filename to examine */
1617
- char * directory /* Put directory stuff here */
1618
- )
1619
- /*
1620
- * If a directory is found in the 'source' filename string (i.e. "includer"),
1621
- * the directory part of the string is copied to 'directory' and
1622
- * has_directory() returns TRUE.
1623
- * Else, nothing is copied and it returns FALSE.
1624
- */
1625
- {
1626
- const char * sp;
1627
- size_t len;
1628
-
1629
- if (! source)
1630
- return FALSE;
1631
- if ((sp = strrchr( source, PATH_DELIM)) == NULL) {
1632
- return FALSE;
1633
- } else {
1634
- len = (size_t)(sp - source) + 1; /* With path-delimiter */
1635
- memcpy( directory, source, len);
1636
- directory[ len] = EOS;
1637
- return TRUE;
1638
- }
1639
- }
1640
-
1641
- static int is_full_path(
1642
- const char * path
1643
- )
1644
- /*
1645
- * Check whether the path is a full (absolute) path list or not.
1646
- */
1647
- {
1648
- if (! path)
1649
- return FALSE;
1650
- #if SYS_FAMILY == SYS_UNIX
1651
- if (path[0] == PATH_DELIM)
1652
- #elif SYS_FAMILY == SYS_WIN
1653
- if ((path[1] == ':' && path[2] == PATH_DELIM) /* "C:/path" */
1654
- || path[0] == PATH_DELIM) /* Root dir of current drive */
1655
- #elif 1
1656
- /* For other systems you should write code here. */
1657
- if (path[0] == PATH_DELIM)
1658
- #endif
1659
- return TRUE;
1660
- else
1661
- return FALSE;
1662
- }
1663
-
1664
- static int search_dir(
1665
- char * filename, /* File name to include */
1666
- int searchlocal, /* #include "header.h" */
1667
- int next /* TRUE if #include_next */
1668
- )
1669
- /*
1670
- * Look in any directories specified by -I command line arguments,
1671
- * specified by environment variable, then in the builtin search list.
1672
- */
1673
- {
1674
- const char ** incptr; /* -> inlcude directory */
1675
-
1676
- incptr = incdir;
1677
-
1678
- for ( ; incptr < incend; incptr++) {
1679
- if (strlen( *incptr) + strlen( filename) >= PATHMAX)
1680
- cfatal( toolong_fname, *incptr, 0L, filename); /* _F_ */
1681
- if (open_file( incptr, NULL, filename, FALSE, FALSE, FALSE))
1682
- /* Now infile has been renewed */
1683
- return TRUE;
1684
- }
1685
-
1686
- return FALSE;
1687
- }
1688
-
1689
- static int open_file(
1690
- const char ** dirp, /* Pointer to include directory */
1691
- const char * src_dir, /* Source directory of includer */
1692
- const char * filename, /* Filename (possibly has directory) */
1693
- int local, /* #include "file" */
1694
- int include_opt, /* Specified by -include option */
1695
- int sys_frame /* System framework header (for SYS_MAC)*/
1696
- )
1697
- /*
1698
- * Open a file, add it to the linked list of open files, close the includer
1699
- * if nessesary and truncate the includer's buffer.
1700
- * This is called from open_include() and at_start().
1701
- */
1702
- {
1703
- char dir_fname[ PATHMAX] = { EOS, };
1704
- #if HOST_COMPILER == BORLANDC
1705
- /* Borland's fopen() does not set errno. */
1706
- static int max_open = FOPEN_MAX - 5;
1707
- #else
1708
- static int max_open;
1709
- #endif
1710
- int len;
1711
- FILEINFO * file = infile;
1712
- FILE * fp;
1713
- char * fullname;
1714
- const char * fname;
1715
-
1716
- errno = 0; /* Clear errno possibly set by path searching */
1717
- {
1718
- if (mcpp_debug & PATH)
1719
- mcpp_fprintf( DBG, "Searching %s%s%s\n", *dirp
1720
- , src_dir ? src_dir : null, filename);
1721
- }
1722
- /* src_dir is usually NULL. This is specified to */
1723
- /* search the source directory of the includer. */
1724
- if (src_dir && *src_dir != EOS) {
1725
- strcpy( dir_fname, src_dir);
1726
- strcat( dir_fname, filename);
1727
- fname = dir_fname;
1728
- } else {
1729
- fname = filename;
1730
- }
1731
-
1732
- fullname = norm_path( *dirp, fname, TRUE, FALSE);
1733
- /* Convert to absolute path */
1734
- if (! fullname) /* Non-existent or directory */
1735
- return FALSE;
1736
- if (included( fullname)) /* Once included */
1737
- goto true;
1738
-
1739
- if ((max_open != 0 && max_open <= include_nest)
1740
- /* Exceed the known limit of open files */
1741
- || ((fp = mcpp_fopen( fullname, "r")) == NULL && errno == EMFILE)) {
1742
- /* Reached the limit for the first time */
1743
- if (mcpp_debug & PATH) {
1744
- #if HOST_COMPILER == BORLANDC
1745
- if (include_nest == FOPEN_MAX - 5)
1746
- #else
1747
- if (max_open == 0)
1748
- #endif
1749
- mcpp_fprintf( DBG,
1750
- "#include nest reached at the maximum of system: %d, returned errno: %d\n"
1751
- , include_nest, errno);
1752
- }
1753
- /*
1754
- * Table of open files is full.
1755
- * Remember the file position and close the includer.
1756
- * The state will be restored by get_line() on end of the included.
1757
- */
1758
- file->pos = ftell( file->fp);
1759
- fclose( file->fp);
1760
- /* In case of failure, re-open the includer */
1761
- if ((fp = mcpp_fopen( fullname, "r")) == NULL) {
1762
- file->fp = mcpp_fopen( cur_fullname, "r");
1763
- fseek( file->fp, file->pos, SEEK_SET);
1764
- goto false;
1765
- }
1766
- if (max_open == 0) /* Remember the limit of the system */
1767
- max_open = include_nest;
1768
- } else if (fp == NULL) /* No read permission */
1769
- goto false;
1770
- /* Truncate buffer of the includer to save memory */
1771
- len = (int) (file->bptr - file->buffer);
1772
- if (len) {
1773
- file->buffer = xrealloc( file->buffer, len + 1);
1774
- file->bptr = file->buffer + len;
1775
- }
1776
-
1777
- if (! include_opt)
1778
- sharp( NULL, 0); /* Print includer's line num and fname */
1779
- add_file( fp, src_dir, filename, fullname, include_opt);
1780
- /* Add file-info to the linked list. 'infile' has been just renewed */
1781
- /*
1782
- * Remember the directory for #include_next.
1783
- * Note: inc_dirp is restored to the parent includer's directory
1784
- * by get_ch() when the current includer is finished.
1785
- */
1786
- infile->dirp = inc_dirp = dirp;
1787
- #if 0 /* This part is only for debugging */
1788
- chk_dirp( dirp);
1789
- #endif
1790
- cur_fullname = fullname;
1791
-
1792
- if (! include_opt) { /* Do not sharp() on -include */
1793
- src_line = 1; /* Working on line 1 now */
1794
- sharp( NULL, 1); /* Print out the included file name */
1795
- }
1796
- src_line = 0; /* To read the first line */
1797
-
1798
- if (mkdep && ((mkdep & MD_SYSHEADER) || ! infile->sys_header))
1799
- put_depend( fullname); /* Output dependency line */
1800
-
1801
- true:
1802
- return TRUE;
1803
- false:
1804
- free( fullname);
1805
- return FALSE;
1806
- }
1807
-
1808
- void add_file(
1809
- FILE * fp, /* Open file pointer */
1810
- const char * src_dir, /* Directory of source */
1811
- const char * filename, /* Name of the file */
1812
- const char * fullname, /* Full path list */
1813
- int include_opt /* File specified by -include option */
1814
- )
1815
- /*
1816
- * Initialize tables for this open file. This is called from open_file()
1817
- * (for #include files), and from the entry to MCPP to open the main input
1818
- * file. It calls a common routine get_file() to build the FILEINFO
1819
- * structure which is used to read characters.
1820
- */
1821
- {
1822
- FILEINFO * file;
1823
- const char * too_many_include_nest =
1824
- "More than %.0s%ld nesting of #include"; /* _F_ _W4_ */
1825
-
1826
- //
1827
- // When encoding is UTF-8, skip BOM if present.
1828
- //
1829
- if(fp != NULL && ftell(fp) == 0)
1830
- {
1831
- const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF};
1832
- unsigned char FILE_HEAD[3] = {0, 0, 0};
1833
- int i;
1834
- for(i = 0; i < 3; ++i)
1835
- {
1836
- FILE_HEAD[i] = getc(fp);
1837
- if(FILE_HEAD[i] != UTF8_BOM[i])
1838
- {
1839
- if(FILE_HEAD[i] == (unsigned char)EOF)
1840
- {
1841
- i--;
1842
- }
1843
- for(; i >= 0; --i)
1844
- {
1845
- ungetc(FILE_HEAD[i], fp);
1846
- }
1847
- break;
1848
- }
1849
- }
1850
- }
1851
-
1852
- filename = set_fname( filename); /* Search or append to fnamelist[] */
1853
- fullname = set_fname( fullname); /* Search or append to fnamelist[] */
1854
- file = get_file( filename, src_dir, fullname, (size_t) NBUFF, include_opt);
1855
- /* file == infile */
1856
- file->fp = fp; /* Better remember FILE * */
1857
- cur_fname = filename;
1858
-
1859
- if (include_nest >= INCLUDE_NEST) /* Probably recursive #include */
1860
- cfatal( too_many_include_nest, NULL, (long) INCLUDE_NEST, NULL);
1861
- if ((warn_level & 4)
1862
- && include_nest == std_limits.inc_nest + 1)
1863
- cwarn( too_many_include_nest, NULL, (long) std_limits.inc_nest, NULL);
1864
- include_nest++;
1865
- }
1866
-
1867
- static const char * set_fname(
1868
- const char * filename
1869
- )
1870
- /*
1871
- * Register the source filename to fnamelist[].
1872
- * Search fnamelist[] for filename or append filename to fnamelist[].
1873
- * Returns the pointer.
1874
- * file->real_fname and file->full_fname points into fnamelist[].
1875
- */
1876
- {
1877
- INC_LIST * fnamep;
1878
- size_t fnamelen;
1879
-
1880
- if (fnamelist == NULL) { /* Should be initialized */
1881
- max_fnamelist = INIT_NUM_FNAMELIST;
1882
- fnamelist = (INC_LIST *) xmalloc( sizeof (INC_LIST) * max_fnamelist);
1883
- fname_end = &fnamelist[ 0];
1884
- } else if (fname_end - fnamelist >= max_fnamelist) {
1885
- /* Buffer full: double the elements */
1886
- fnamelist = (INC_LIST *) xrealloc( (void *) fnamelist
1887
- , sizeof (INC_LIST) * max_fnamelist * 2);
1888
- fname_end = &fnamelist[ max_fnamelist];
1889
- max_fnamelist *= 2;
1890
- }
1891
-
1892
- /* Register the filename in fnamelist[] */
1893
- fnamelen = strlen( filename);
1894
- for (fnamep = fnamelist; fnamep < fname_end; fnamep++) {
1895
- if (fnamep->len == fnamelen && str_case_eq( fnamep->name, filename))
1896
- return filename; /* Already registered */
1897
- }
1898
- fname_end->name = xmalloc( fnamelen + 1);
1899
- filename = strcpy( fname_end->name, filename);
1900
- /* Global pointer for get_file() */
1901
- fname_end->len = fnamelen;
1902
- fname_end++;
1903
-
1904
- return filename;
1905
- }
1906
-
1907
- #if 0 /* This part is only for debugging */
1908
- static int chk_dirp(
1909
- const char ** dirp
1910
- )
1911
- /*
1912
- * Check the validity of include directory specified for open_file().
1913
- * Called only from open_file().
1914
- */
1915
- {
1916
- const char ** ip;
1917
-
1918
- if (dirp == &null)
1919
- return TRUE;
1920
-
1921
- for (ip = incdir; ip < incend; ip++)
1922
- if (dirp == ip)
1923
- break;
1924
- if (ip == incend) {
1925
- #if COMPILER == MSC
1926
- FILEINFO * pfile = infile->parent;
1927
- if (pfile) {
1928
- while ((pfile = pfile->parent) != NULL) {
1929
- /* Search each parent includer's directory */
1930
- if (dirp == pfile->dirp)
1931
- break;
1932
- }
1933
- }
1934
- if (! pfile)
1935
- #endif
1936
- #if COMPILER == GNUC
1937
- const char ** qdir;
1938
- for (qdir = quote_dir; qdir < quote_dir_end; qdir++) {
1939
- if (dirp == qdir)
1940
- break;
1941
- }
1942
- if (qdir == quote_dir_end)
1943
- #endif
1944
- {
1945
- cfatal( "Bug: *dirp:%s is invalid", *dirp, 0L, NULL);
1946
- return FALSE;
1947
- }
1948
- }
1949
- return TRUE;
1950
- }
1951
- #endif
1952
-
1953
- FILEINFO* sh_file;
1954
- int sh_line;
1955
-
1956
- void sharp(
1957
- FILEINFO * sharp_file,
1958
- int flag /* Flag to append to the line for GCC */
1959
- )
1960
- /*
1961
- * Output a line number line.
1962
- * 'file' is 'sharp_file' if specified,
1963
- * else (i.e. 'sharp_file' is NULL) 'infile'.
1964
- */
1965
- {
1966
- FILEINFO * file;
1967
- int line;
1968
-
1969
- file = sharp_file ? sharp_file : infile;
1970
- if (! file)
1971
- return;
1972
- while (! file->fp)
1973
- file = file->parent;
1974
- line = sharp_file ? sharp_file->line : src_line;
1975
- if (no_output || file == NULL
1976
- || (file == sh_file && line == sh_line))
1977
- goto sharp_exit;
1978
- sh_file = file;
1979
- sh_line = line;
1980
- if (keep_comments)
1981
- mcpp_fputc( '\n', OUT); /* Ensure to be on line top */
1982
- if (std_line_prefix)
1983
- mcpp_fprintf( OUT, "#line %ld", line);
1984
- else
1985
- mcpp_fprintf( OUT, "%s%ld", LINE_PREFIX, line);
1986
- cur_file( file, sharp_file, flag);
1987
- mcpp_fputc( '\n', OUT);
1988
- sharp_exit:
1989
- wrong_line = FALSE;
1990
- }
1991
-
1992
- static void cur_file(
1993
- FILEINFO * file, /* infile or sharp_file */
1994
- FILEINFO * sharp_file, /* The 'file' or NULL */
1995
- int flag /* Flag to append for GCC */
1996
- )
1997
- /*
1998
- * Output current source file name and line number.
1999
- * Called only from sharp() above.
2000
- */
2001
- {
2002
- const char * name;
2003
-
2004
- if (mcpp_debug & MACRO_CALL) { /* In macro notification mode */
2005
- if (sharp_file) /* Main input file */
2006
- name = file->filename;
2007
- else /* Output full-path-list, normalized */
2008
- name = cur_fullname;
2009
- } else { /* Usually, the path not "normalized" */
2010
- if (sharp_file) { /* Main input file */
2011
- name = file->filename;
2012
- } else if (str_eq( file->filename, file->real_fname)) {
2013
- sprintf( work_buf, "%s%s", *(file->dirp), cur_fname);
2014
- name = work_buf;
2015
- } else { /* Changed by '#line fname' directive */
2016
- name = file->filename;
2017
- }
2018
- }
2019
- if (sharp_filename == NULL || ! str_eq( name, sharp_filename)) {
2020
- if (sharp_filename != NULL)
2021
- free( sharp_filename);
2022
- sharp_filename = save_string( name);
2023
- }
2024
- mcpp_fprintf( OUT, " \"%s\"", name);
2025
- }
2026
-
2027
- #if SYS_FAMILY == SYS_WIN
2028
-
2029
- static char * bsl2sl(
2030
- char * filename
2031
- )
2032
- /*
2033
- * Convert '\\' in the path-list to '/'.
2034
- */
2035
- {
2036
- static int diagnosed = FALSE;
2037
- char * cp;
2038
-
2039
- cp = filename;
2040
-
2041
- while (*cp) {
2042
- if (*cp == '\\') {
2043
- *cp++ = PATH_DELIM;
2044
- if (!diagnosed && (warn_level & 2) && (warn_level != -1)) {
2045
- /* Backslash in source program */
2046
- cwarn( "Converted \\ to %s", "/", 0L, NULL); /* _W2_ */
2047
- diagnosed = TRUE; /* Diagnose only once */
2048
- }
2049
- } else {
2050
- cp++;
2051
- }
2052
- }
2053
-
2054
- return filename;
2055
- }
2056
-
2057
- #endif /* SYS_FAMILY == SYS_WIN */
2058
-
2059
- static const char * const unknown_arg =
2060
- "Unknown argument \"%s\""; /*_W1_*/
2061
- static const char * const not_ident =
2062
- "Not an identifier \"%s\""; /*_W1_*/
2063
-
2064
- static int is_junk( void)
2065
- /*
2066
- * Check the trailing junk in a directive line.
2067
- * This routine is never called in OLD_PREP mode.
2068
- */
2069
- {
2070
- int c;
2071
-
2072
- c = skip_ws();
2073
- unget_ch();
2074
- if (c != '\n') { /* Trailing junk */
2075
- if (warn_level & 1)
2076
- cwarn( unknown_arg, infile->bptr, 0L, NULL);
2077
- return TRUE;
2078
- } else {
2079
- return FALSE;
2080
- }
2081
- }
2082
-
2083
- #define PUSH 1
2084
- #define POP -1
2085
-
2086
- #define __SETLOCALE 1 /* #pragma __setlocale( "encoding") */
2087
- #define SETLOCALE 2 /* #pragma setlocale( "encoding") */
2088
-
2089
- void do_pragma( void)
2090
- /*
2091
- * Process the #pragma lines.
2092
- * 1. Process the sub-directive for MCPP.
2093
- * 2. Pass the line to the compiler-proper.
2094
- * #pragma MCPP put_defines, #pragma MCPP preprocess,
2095
- * #pragma MCPP preprocessed and #pragma once are, however, not put
2096
- * out so as not to duplicate output when re-preprocessed.
2097
- * When EXPAND_PRAGMA == TRUE and (__STDC_VERSION__ >= 199901L or
2098
- * __cplusplus >= 199901L), the line is subject to macro expansion unless
2099
- * the next to 'pragma' token is one of 'STDC', 'GCC' or 'MCPP'.
2100
- */
2101
- {
2102
- int c;
2103
- int warn = FALSE; /* Necessity of warning */
2104
- int token_type;
2105
- char * bp; /* Pointer to argument */
2106
- char * tp;
2107
- FILEINFO * file;
2108
-
2109
- wrong_line = TRUE; /* In case of error */
2110
- c = skip_ws();
2111
- bp = infile->bptr - 1; /* Remember token to pass to compiler */
2112
- if (c == '\n') {
2113
- if (warn_level & 1)
2114
- cwarn( "No sub-directive", NULL, 0L, NULL); /* _W1_ */
2115
- unget_ch();
2116
- return;
2117
- }
2118
- token_type = scan_token( c, (tp = work_buf, &tp), work_end);
2119
- #if EXPAND_PRAGMA
2120
- if (stdc3 && token_type == NAM
2121
- && !str_eq( identifier, "STDC") && !str_eq( identifier, "MCPP")) {
2122
- DEFBUF * defp;
2123
- char * mp;
2124
- char * mp_end;
2125
- LINE_COL line_col = { 0L, 0};
2126
-
2127
- bp = mp = xmalloc( (size_t)(NMACWORK + IDMAX));
2128
- /* Buffer for macro expansion */
2129
- mp_end = mp + NMACWORK;
2130
- tp = stpcpy( mp, identifier);
2131
- do { /* Expand all the macros in the line */
2132
- int has_pragma;
2133
- if (token_type == NAM && (defp = is_macro( &tp)) != NULL) {
2134
- tp = expand_macro( defp, bp, mp_end, line_col, & has_pragma);
2135
- if (has_pragma)
2136
- cerror( "_Pragma operator found in #pragma line" /* _E_ */
2137
- , NULL, 0L, NULL);
2138
- if (! stdc3 && (warn_level & 2))
2139
- cwarn(
2140
- "\"%s\" is macro expanded in other than C99 mode" /* _W2_ */
2141
- , identifier, 0L, NULL);
2142
- }
2143
- token_type = scan_token( c = get_ch(), (bp = tp, &tp), mp_end);
2144
- } while (c != '\n');
2145
- unget_string( mp, NULL); /* To re-read */
2146
- free( mp);
2147
- c = skip_ws();
2148
- bp = infile->bptr - 1;
2149
- token_type = scan_token( c, (tp = work_buf, &tp), work_end);
2150
- }
2151
- #endif
2152
- if (token_type != NAM) {
2153
- if (warn_level & 1)
2154
- cwarn( not_ident, work_buf, 0L, NULL);
2155
- goto skip_nl;
2156
- } else if (str_eq( identifier, "once")) { /* #pragma once */
2157
- if (! is_junk()) {
2158
- file = infile;
2159
- while (file->fp == NULL)
2160
- file = file->parent;
2161
- do_once( file->full_fname);
2162
- goto skip_nl;
2163
- }
2164
- } else if (str_eq( identifier, "MCPP")) {
2165
- if (scan_token( skip_ws(), (tp = work_buf, &tp), work_end) != NAM) {
2166
- if (warn_level & 1)
2167
- cwarn( not_ident, work_buf, 0L, NULL);
2168
- }
2169
- if (str_eq( identifier, "put_defines")) {
2170
- if (! is_junk())
2171
- dump_def( TRUE, FALSE); /* #pragma MCPP put_defines */
2172
- } else if (str_eq( identifier, "preprocess")) {
2173
- if (! is_junk()) /* #pragma MCPP preprocess */
2174
- mcpp_fputs( "#pragma MCPP preprocessed\n", OUT);
2175
- /* Just putout the directive */
2176
- } else if (str_eq( identifier, "preprocessed")) {
2177
- if (! is_junk()) { /* #pragma MCPP preprocessed*/
2178
- skip_nl();
2179
- do_preprocessed();
2180
- return;
2181
- }
2182
- } else if (str_eq( identifier, "warning")) {
2183
- /* #pragma MCPP warning */
2184
- cwarn( infile->buffer, NULL, 0L, NULL);
2185
- } else if (str_eq( identifier, "push_macro")) {
2186
- push_or_pop( PUSH); /* #pragma MCPP push_macro */
2187
- } else if (str_eq( identifier, "pop_macro")) {
2188
- push_or_pop( POP); /* #pragma MCPP pop_macro */
2189
- } else if (str_eq( identifier, "debug")) {
2190
- do_debug( TRUE); /* #pragma MCPP debug */
2191
- } else if (str_eq( identifier, "end_debug")) {
2192
- do_debug( FALSE); /* #pragma MCPP end_debug */
2193
- } else {
2194
- warn = TRUE;
2195
- }
2196
- if (warn && (warn_level & 1))
2197
- cwarn( unknown_arg, identifier, 0L, NULL);
2198
- goto skip_nl; /* Do not putout the line */
2199
-
2200
- }
2201
-
2202
- if (warn) {
2203
- if (warn_level & 1)
2204
- cwarn( unknown_arg, identifier, 0L, NULL);
2205
- goto skip_nl; /* Do not putout the line */
2206
- }
2207
-
2208
- sharp( NULL, 0); /* Synchronize line number before output */
2209
- if (! no_output) {
2210
- mcpp_fputs( "#pragma ", OUT);
2211
- mcpp_fputs( bp, OUT); /* Line is put out */
2212
- }
2213
- skip_nl: /* Don't use skip_nl() which skips to the newline in source file */
2214
- while (get_ch() != '\n')
2215
- ;
2216
- }
2217
-
2218
- static void do_once(
2219
- const char * fullname /* Full-path-list of the header */
2220
- )
2221
- /*
2222
- * Process #pragma once so as not to re-include the file later.
2223
- * This directive has been imported from GCC V.1.* / cpp as an extension.
2224
- */
2225
- {
2226
- if (once_list == NULL) { /* Should initialize */
2227
- max_once = INIT_NUM_ONCE;
2228
- once_list = (INC_LIST *) xmalloc( sizeof (INC_LIST) * max_once);
2229
- once_end = &once_list[ 0];
2230
- } else if (once_end - once_list >= max_once) {
2231
- /* Double the elements */
2232
- once_list = (INC_LIST *) xrealloc( (void *) once_list
2233
- , sizeof (INC_LIST) * max_once * 2);
2234
- once_end = &once_list[ max_once];
2235
- max_once *= 2;
2236
- }
2237
- once_end->name = (char*)fullname;
2238
- once_end->len = strlen( fullname);
2239
- once_end++;
2240
- }
2241
-
2242
- static int included(
2243
- const char * fullname
2244
- )
2245
- /*
2246
- * Has the file been once included ?
2247
- * This routine is only called from open_file().
2248
- */
2249
- {
2250
- INC_LIST * inc;
2251
- size_t fnamelen;
2252
-
2253
- if (once_list == NULL) /* No once file registered */
2254
- return FALSE;
2255
- fnamelen = strlen( fullname);
2256
- for (inc = once_list; inc < once_end; inc++) {
2257
- if (inc->len == fnamelen && str_case_eq( inc->name, fullname)) {
2258
- /* Already included */
2259
- if (mcpp_debug & PATH)
2260
- mcpp_fprintf( DBG, "Once included \"%s\"\n", fullname);
2261
- return TRUE;
2262
- }
2263
- }
2264
- return FALSE; /* Not yet included */
2265
- }
2266
-
2267
- static void push_or_pop(
2268
- int direction
2269
- )
2270
- /* Process #pragma MCPP push_macro( "MACRO"),
2271
- * #pragma MCPP pop_macro( "MACRO") for other compilers than Visual C,
2272
- * and #pragma push_macro( "MACRO"), #pragma pop_macro( "MACRO") for Visual C.
2273
- * Note:1. "push" count is set in defp->push.
2274
- * 2. pushed definitions are inserted immediatly after the current
2275
- * definition of the same name.
2276
- * 3. the definitions of a same name macro can be pushed multiple times.
2277
- */
2278
- {
2279
- char * tp;
2280
- DEFBUF ** prevp;
2281
- DEFBUF * defp;
2282
- DEFBUF * dp;
2283
- int cmp;
2284
- size_t s_name, s_def;
2285
-
2286
- if (skip_ws() == '('
2287
- && scan_token( skip_ws(), (tp = work_buf, &tp), work_end) == STR
2288
- && skip_ws() == ')') { /* Correct syntax */
2289
-
2290
- if (is_junk())
2291
- return;
2292
- s_name = strlen( work_buf) - 2;
2293
- *(work_buf + s_name + 1) = '\0';
2294
- memcpy( identifier, work_buf + 1, s_name + 1);
2295
- /* Remove enclosing '"' */
2296
- prevp = look_prev( identifier, &cmp);
2297
- if (cmp == 0) { /* Current definition or pushed definition exists */
2298
- defp = *prevp;
2299
- if (direction == PUSH) {/* #pragma push_macro( "MACRO") */
2300
- if (defp->push) { /* No current definition*/
2301
- if (warn_level & 1)
2302
- cwarn( "\"%s\" is already pushed" /* _W1_ */
2303
- , identifier, 0L, NULL);
2304
- return;
2305
- }
2306
- /* Else the current definition exists. Push it */
2307
- s_def = sizeof (DEFBUF) + 3 + s_name
2308
- + strlen( defp->repl) + strlen( defp->fname);
2309
- s_def += strlen( defp->parmnames);
2310
- dp = (DEFBUF *) xmalloc( s_def);
2311
- memcpy( dp, defp, s_def); /* Copy the definition */
2312
- dp->link = *prevp; /* Insert to linked-list*/
2313
- *prevp = dp; /* the pushed def */
2314
- prevp = &dp->link; /* Next link to search */
2315
- } else { /* #pragma pop_macro( "MACRO") */
2316
- if (defp->push == 0) { /* Current definition */
2317
- if (defp->link == NULL
2318
- || ! str_eq( identifier, defp->link->name)) {
2319
- if (warn_level & 1)
2320
- cwarn( "\"%s\" has not been pushed" /* _W1_ */
2321
- , identifier, 0L, NULL);
2322
- return;
2323
- } else {
2324
- *prevp = defp->link;
2325
- /* Link the previous and the next */
2326
- free( defp);
2327
- /* Delete the definition to enable popped def */
2328
- }
2329
- } /* Else no current definition exists */
2330
- }
2331
- while ((defp = *prevp) != NULL) {
2332
- /* Increment or decrement "push" count of all pushed defs */
2333
- if ((cmp = memcmp( defp->name, identifier, s_name)) > 0)
2334
- break;
2335
- defp->push += direction; /* Increment or decrement */
2336
- prevp = &defp->link;
2337
- }
2338
- } else { /* No current definition nor pushed definition */
2339
- if (warn_level & 1)
2340
- cwarn( "\"%s\" has not been defined" /* _W1_ */
2341
- , identifier, 0L, NULL);
2342
- }
2343
- } else { /* Wrong syntax */
2344
- if (warn_level & 1)
2345
- cwarn( "Bad %s syntax", direction == PUSH /* _W1_ */
2346
- ? "push_macro" : "pop_macro", 0L, NULL);
2347
- }
2348
- }
2349
-
2350
-
2351
- void do_old( void)
2352
- /*
2353
- * Process the out-of-standard directives.
2354
- * GCC permits #include_next and #warning even in STANDARD mode.
2355
- */
2356
- {
2357
- static const char * const unknown
2358
- = "Unknown #directive \"%s\"%.0ld%s"; /* _E_ _W8_ */
2359
-
2360
- if (compiling) {
2361
- cerror( unknown, identifier, 0L, NULL);
2362
- } else if (warn_level & 8) {
2363
- cwarn( unknown, identifier, 0L, " (in skipped block)");
2364
- }
2365
- skip_nl();
2366
- unget_ch();
2367
- return;
2368
- }
2369
-
2370
- static void do_preprocessed( void)
2371
- /*
2372
- * The source file has been already preprocessed.
2373
- * Copy the lines to output.
2374
- * Install macros according the #define directives.
2375
- */
2376
- {
2377
- const char * corrupted =
2378
- "This preprocessed file is corrupted"; /* _F_ */
2379
- FILEINFO * file;
2380
- char * lbuf;
2381
- char * cp;
2382
- const char ** incptr;
2383
- char * comment = NULL;
2384
- char * colon = NULL;
2385
- const char * dir;
2386
- #if STD_LINE_PREFIX == FALSE
2387
- char conv[ NBUFF];
2388
- char * arg;
2389
-
2390
- /*
2391
- * Compiler cannot accept C source style #line.
2392
- * Convert it to the compiler-specific format.
2393
- */
2394
- strcpy( conv, LINE_PREFIX);
2395
- arg = conv + strlen( conv);
2396
- #endif
2397
- file = infile;
2398
- lbuf = file->bptr = file->buffer; /* Reset file->bptr */
2399
-
2400
- /* Copy the input to output until a comment line appears. */
2401
- while (fgets( lbuf, NBUFF, file->fp) != NULL
2402
- && memcmp( lbuf, "/*", 2) != 0) {
2403
- #if STD_LINE_PREFIX == FALSE
2404
- if (memcmp( lbuf, "#line ", 6) == 0) {
2405
- strcpy( arg, lbuf + 6);
2406
- mcpp_fputs( conv, OUT);
2407
- } else
2408
- #endif
2409
- {
2410
- mcpp_fputs( lbuf, OUT);
2411
- }
2412
- }
2413
- if (! str_eq( lbuf, "/* Currently defined macros. */\n"))
2414
- cfatal( "This is not a preprocessed source" /* _F_ */
2415
- , NULL, 0L, NULL);
2416
-
2417
- /* Define macros according to the #define lines. */
2418
- while (fgets( lbuf, NWORK, file->fp) != NULL) {
2419
- if (memcmp( lbuf, "/*", 2) == 0) {
2420
- /* Standard predefined macro */
2421
- continue;
2422
- }
2423
- if (memcmp( lbuf, "#define ", 8) != 0) {
2424
- if (memcmp( lbuf, "#line", 5) == 0)
2425
- continue;
2426
- else
2427
- cfatal( corrupted, NULL, 0L, NULL);
2428
- }
2429
- /* Filename and line-number information in comment as: */
2430
- /* dir/fname:1234\t*/
2431
- cp = lbuf + strlen( lbuf);
2432
- if ((memcmp( cp - 4, "\t*/\n", 4) != 0)
2433
- || (*(cp - 4) = EOS
2434
- , (comment = strrchr( lbuf, '*')) == NULL)
2435
- || (memcmp( --comment, "/* ", 3) != 0)
2436
- || ((colon = strrchr( comment, ':')) == NULL))
2437
- cfatal( corrupted, NULL, 0L, NULL);
2438
- src_line = atol( colon + 1); /* Pseudo line number */
2439
- *colon = EOS;
2440
- dir = comment + 3;
2441
- inc_dirp = &null;
2442
- /* Search the include directory list */
2443
- for (incptr = incdir ; incptr < incend; incptr++) {
2444
- if (memcmp( *incptr, dir, strlen( *incptr)) == 0) {
2445
- inc_dirp = incptr;
2446
- break;
2447
- }
2448
- }
2449
- /* Register the filename to fnamelist[] */
2450
- /* inc_dirp may be NULL, and cur_fname may be "(predefined)" */
2451
- cur_fname = set_fname( dir + strlen( *inc_dirp));
2452
- strcpy( comment - 2, "\n"); /* Remove the comment */
2453
- unget_string( lbuf + 8, NULL);
2454
- do_define( FALSE, 0);
2455
- get_ch(); /* '\n' */
2456
- get_ch(); /* Clear the "file" */
2457
- unget_ch(); /* infile == file */
2458
- }
2459
- file->bptr = file->buffer + strlen( file->buffer);
2460
- }
2461
-
2462
- static int do_debug(
2463
- int set /* TRUE to set debugging */
2464
- )
2465
- /*
2466
- * #pragma MCPP debug, #pragma MCPP end_debug, #debug, #end_debug
2467
- * Return TRUE when diagnostic is issued else return FALSE.
2468
- */
2469
- {
2470
- struct Debug_arg {
2471
- const char * arg_name; /* Name of option */
2472
- int arg_num; /* Value of 'debug' */
2473
- };
2474
- static struct Debug_arg debug_args[] = {
2475
- { "path", PATH },
2476
- { "token", TOKEN },
2477
- { "expand", EXPAND },
2478
- { "macro_call", MACRO_CALL }, /* Implemented only in STD mode */
2479
- { "if", IF },
2480
- { "expression", EXPRESSION },
2481
- { "getc", GETC },
2482
- { "memory", MEMORY },
2483
- { NULL, 0 },
2484
- };
2485
- struct Debug_arg *argp;
2486
- int num;
2487
- int c;
2488
-
2489
- c = skip_ws();
2490
- if (c == '\n') {
2491
- unget_ch();
2492
- if (set) {
2493
- if (warn_level & 1)
2494
- cwarn( "No argument", NULL, 0L, NULL); /* _W1_ */
2495
- return TRUE;
2496
- } else {
2497
- mcpp_debug = 0; /* Clear all the flags */
2498
- return FALSE;
2499
- }
2500
- }
2501
- while (scan_token( c, (workp = work_buf, &workp), work_end) == NAM) {
2502
- argp = debug_args;
2503
- while (argp->arg_name) {
2504
- if (str_eq( argp->arg_name, work_buf))
2505
- break;
2506
- argp++;
2507
- }
2508
- if (argp->arg_name == NULL) {
2509
- if (warn_level & 1)
2510
- cwarn( unknown_arg, work_buf, 0L, NULL);
2511
- goto diagnosed;
2512
- } else {
2513
- num = argp->arg_num;
2514
- if (set) {
2515
- mcpp_debug |= num;
2516
- if (num == PATH)
2517
- dump_path();
2518
- else if (num == MEMORY)
2519
- print_heap();
2520
- else if (num == MACRO_CALL)
2521
- // option_flags.k = TRUE; /* This pragma needs this mode */
2522
- ;
2523
- } else {
2524
- mcpp_debug &= ~num;
2525
- }
2526
- }
2527
- c = skip_ws();
2528
- }
2529
- if (c != '\n') {
2530
- if (warn_level & 1) {
2531
- if (c != '\n') {
2532
- cwarn( not_ident, work_buf, 0L, NULL);
2533
- } else {
2534
- cwarn( unknown_arg, work_buf, 0L, NULL);
2535
- mcpp_debug &= ~num; /* Disable */
2536
- }
2537
- }
2538
- skip_nl();
2539
- unget_ch();
2540
- goto diagnosed;
2541
- }
2542
- unget_ch();
2543
- return FALSE;
2544
- diagnosed:
2545
- return TRUE;
2546
- }
2547
-
2548
- static void dump_path( void)
2549
- /*
2550
- * Show the include directories.
2551
- */
2552
- {
2553
- const char ** incptr;
2554
- const char * inc_dir;
2555
- const char * dir = "./";
2556
-
2557
- mcpp_fputs( "Include paths are as follows --\n", DBG);
2558
- for (incptr = incdir; incptr < incend; incptr++) {
2559
- inc_dir = *incptr;
2560
- if (*inc_dir == '\0')
2561
- inc_dir = dir;
2562
- mcpp_fprintf( DBG, " %s\n", inc_dir);
2563
- }
2564
- mcpp_fputs( "End of include path list.\n", DBG);
2565
- }
2566
-
2567
- /*
2568
- * Note: The getopt() of glibc should not be used since the specification
2569
- * differs from the standard one.
2570
- * Use this mcpp_getopt() for mcpp.
2571
- */
2572
-
2573
- /* Based on the public-domain-software released by AT&T in 1985. */
2574
-
2575
- #define OPTERR( s, c) if (mcpp_opterr) { \
2576
- mcpp_fputs( argv[0], ERR); \
2577
- mcpp_fputs( s, ERR); \
2578
- mcpp_fputc( c, ERR); \
2579
- mcpp_fputc( '\n', ERR); \
2580
- }
2581
-
2582
- static int mcpp_getopt(
2583
- int argc,
2584
- char * const * argv,
2585
- const char * opts
2586
- )
2587
- /*
2588
- * Get the next option (and it's argument) from the command line.
2589
- */
2590
- {
2591
- const char * const error1 = ": option requires an argument --";
2592
- const char * const error2 = ": illegal option --";
2593
- static int sp = 1;
2594
- int c;
2595
- const char * cp;
2596
-
2597
- if (sp == 1) {
2598
- if (argc <= mcpp_optind ||
2599
- argv[ mcpp_optind][ 0] != '-'
2600
- || argv[ mcpp_optind][ 1] == '\0') {
2601
- return EOF;
2602
- } else if (strcmp( argv[ mcpp_optind], "--") == 0) {
2603
- mcpp_optind++;
2604
- return EOF;
2605
- }
2606
- }
2607
- /* mcpp_optopt = c = (unsigned char) argv[ mcpp_optind][ sp]; */
2608
- mcpp_optopt = c = argv[ mcpp_optind][ sp] & UCHARMAX;
2609
- if (c == ':' || (cp = strchr( opts, c)) == NULL) {
2610
- OPTERR( error2, c)
2611
- if (argv[ mcpp_optind][ ++sp] == '\0') {
2612
- mcpp_optind++;
2613
- sp = 1;
2614
- }
2615
- return '?';
2616
- }
2617
- if (*++cp == ':') {
2618
- if (argv[ mcpp_optind][ sp+1] != '\0') {
2619
- mcpp_optarg = &argv[ mcpp_optind++][ sp+1];
2620
- } else if (argc <= ++mcpp_optind) {
2621
- OPTERR( error1, c)
2622
- sp = 1;
2623
- return '?';
2624
- } else {
2625
- mcpp_optarg = argv[ mcpp_optind++];
2626
- }
2627
- sp = 1;
2628
- } else {
2629
- if (argv[ mcpp_optind][ ++sp] == '\0') {
2630
- sp = 1;
2631
- mcpp_optind++;
2632
- }
2633
- mcpp_optarg = NULL;
2634
- }
2635
- return c;
2636
- }
2637
-
2638
- #if ! HOST_HAVE_STPCPY
2639
- char * stpcpy(
2640
- char * dest,
2641
- const char * src
2642
- )
2643
- /*
2644
- * Copy the string and return the advanced pointer.
2645
- */
2646
- {
2647
- const char * s;
2648
- char * d;
2649
-
2650
- for (s = src, d = dest; (*d++ = *s++) != '\0'; )
2651
- ;
2652
- return d - 1;
2653
- }
2654
- #endif
2655
-
2656
- /*
2657
- * list_heap() is a function to print out information of heap-memory.
2658
- * See "kmmalloc-2.5.3.zip" by kmatsui.
2659
- */
2660
- #if KMMALLOC
2661
- int list_heap( int);
2662
- #elif BSD_MALLOC
2663
- int list_heap( char *);
2664
- #elif DB_MALLOC || DMALLOC
2665
- int list_heap( FILE *);
2666
- #endif
2667
-
2668
- void print_heap( void)
2669
- {
2670
- #if KMMALLOC
2671
- list_heap( 1);
2672
- #elif BSD_MALLOC
2673
- list_heap( ":cpp");
2674
- #elif DB_MALLOC || DMALLOC || PHK_MALLOC || DLMALLOC
2675
- list_heap( fp_debug);
2676
- #endif
2677
- }
2678
-
2679
- void at_end( void)
2680
- /*
2681
- * Handle the commands to be executed at the end of processing.
2682
- */
2683
- {
2684
- }
2685
-
2686
- void clear_filelist( void)
2687
- /*
2688
- * Free malloced memory for filename-list and directory-list.
2689
- */
2690
- {
2691
- const char ** incp;
2692
- INC_LIST * namep;
2693
-
2694
- for (incp = incdir; incp < incend; incp++)
2695
- free( (void *) *incp);
2696
- free( (void *) incdir);
2697
- for (namep = fnamelist; namep < fname_end; namep++)
2698
- free( (void *) namep->name);
2699
- free( (void *) fnamelist);
2700
- free( (void *) once_list);
2701
- }
2702
-
2703
- #ifdef _WIN32
2704
- # include <Windows.h>
2705
- #endif
2706
-
2707
- FILE* mcpp_fopen(const char* filename, const char* mode)
2708
- {
2709
- #ifdef _WIN32
2710
- FILE* f = 0;
2711
- if(filename && mode)
2712
- {
2713
- int wfilenameLength = strlen(filename) + 1;
2714
- wchar_t* wfilename = malloc(wfilenameLength * sizeof(wchar_t));
2715
- if(wfilename)
2716
- {
2717
- if(MultiByteToWideChar(CP_UTF8, 0, filename, -1, wfilename, wfilenameLength))
2718
- {
2719
- int wmodeLength = strlen(mode) + 1;
2720
- wchar_t* wmode = malloc(wmodeLength * sizeof(wchar_t));
2721
- if(wmode)
2722
- {
2723
- if(MultiByteToWideChar(CP_UTF8, 0, mode, -1, wmode, wmodeLength))
2724
- {
2725
- _wfopen_s(&f, wfilename, wmode);
2726
- }
2727
- free(wmode);
2728
- }
2729
- }
2730
- free(wfilename);
2731
- }
2732
- }
2733
- return f;
2734
- #else
2735
- return fopen(filename, mode);
2736
- #endif
2737
- }