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