summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2005-12-16 17:16:05 +0000
committerMatthew Newhook <matthew@zeroc.com>2005-12-16 17:16:05 +0000
commit20de27fa7ed8ba789c0859b8e858610419fcb2c6 (patch)
tree2ab9a32b38b2c95231d509d57302f544639c5b9d /cpp/src
parentadded file. (diff)
downloadice-20de27fa7ed8ba789c0859b8e858610419fcb2c6.tar.bz2
ice-20de27fa7ed8ba789c0859b8e858610419fcb2c6.tar.xz
ice-20de27fa7ed8ba789c0859b8e858610419fcb2c6.zip
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=679
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IcePatch2/.depend13
-rw-r--r--cpp/src/IcePatch2/Calc.cpp22
-rwxr-xr-xcpp/src/IcePatch2/ClientUtil.cpp10
-rw-r--r--cpp/src/IcePatch2/FileServerI.cpp11
-rw-r--r--cpp/src/IcePatch2/Makefile5
-rw-r--r--cpp/src/IcePatch2/OS.cpp18
-rw-r--r--cpp/src/IcePatch2/Server.cpp18
-rw-r--r--cpp/src/IcePatch2/Util.cpp355
-rwxr-xr-xcpp/src/IcePatch2/icepatch2.dsp8
-rwxr-xr-xcpp/src/IcePatch2/icepatch2S.dsp4
-rw-r--r--cpp/src/IcePatch2/icepatch2calc.dsp4
-rw-r--r--cpp/src/IceUtil/StringUtil.cpp25
-rw-r--r--cpp/src/IceUtil/iceutil.dsp2
13 files changed, 262 insertions, 233 deletions
diff --git a/cpp/src/IcePatch2/.depend b/cpp/src/IcePatch2/.depend
index 0eb17e2e139..02673454c46 100644
--- a/cpp/src/IcePatch2/.depend
+++ b/cpp/src/IcePatch2/.depend
@@ -1,10 +1,11 @@
-Util.o: Util.cpp ../../include/IceUtil/IceUtil.h ../../include/IceUtil/Functional.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Unicode.h ../../include/IceUtil/UUID.h ../../include/IceUtil/AbstractMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/RWRecMutex.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/IceUtil/Thread.h ../../include/IceUtil/StaticMutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/CountDownLatch.h ../../include/IceUtil/Base64.h ../../include/IceUtil/StringUtil.h ../../include/IceUtil/InputUtil.h ../../include/IceUtil/OutputUtil.h ../../include/IceUtil/Options.h ../../include/IcePatch2/Util.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantManagerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Process.h ../../include/Ice/Outgoing.h ../../include/Ice/Direct.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileInfo.h
-ClientUtil.o: ClientUtil.cpp ../../include/IcePatch2/ClientUtil.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantManagerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Process.h ../../include/Ice/Outgoing.h ../../include/Ice/Direct.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileServer.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/Util.h ../IcePatch2/FileServerI.h
+Util.o: Util.cpp ../../include/IceUtil/DisableWarnings.h ../../include/IceUtil/IceUtil.h ../../include/IceUtil/Functional.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Unicode.h ../../include/IceUtil/UUID.h ../../include/IceUtil/AbstractMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/RWRecMutex.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/IceUtil/Thread.h ../../include/IceUtil/StaticMutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/CountDownLatch.h ../../include/IceUtil/Base64.h ../../include/IceUtil/StringUtil.h ../../include/IceUtil/InputUtil.h ../../include/IceUtil/OutputUtil.h ../../include/IceUtil/Options.h ../../include/IcePatch2/Util.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileInfo.h OS.h
+ClientUtil.o: ClientUtil.cpp ../../include/IceUtil/Unicode.h ../../include/IceUtil/Config.h ../../include/IcePatch2/ClientUtil.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileServer.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/Util.h ../IcePatch2/FileServerI.h OS.h
FileInfo.o: FileInfo.cpp ../../include/IcePatch2/FileInfo.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h
FileServer.o: FileServer.cpp ../../include/IcePatch2/FileServer.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/CommunicatorF.h ../../include/Ice/Object.h ../../include/Ice/GCShared.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/IcePatch2/FileInfo.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/LocalException.h ../../include/Ice/ObjectFactory.h
-Server.o: Server.cpp ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Service.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantManagerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Process.h ../../include/Ice/Outgoing.h ../../include/Ice/Direct.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../IcePatch2/FileServerI.h ../../include/IcePatch2/Util.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/FileServer.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h
-FileServerI.o: FileServerI.cpp ../IcePatch2/FileServerI.h ../../include/IcePatch2/Util.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantManagerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Process.h ../../include/Ice/Outgoing.h ../../include/Ice/Direct.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/FileServer.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h
-Client.o: Client.cpp ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantManagerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Process.h ../../include/Ice/Outgoing.h ../../include/Ice/Direct.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/Util.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/ClientUtil.h ../../include/IcePatch2/FileServer.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h
-Calc.o: Calc.cpp ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IcePatch2/Util.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantManagerF.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Process.h ../../include/Ice/Outgoing.h ../../include/Ice/Direct.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileInfo.h
+OS.o: OS.cpp OS.h ../../include/Ice/Config.h ../../include/IceUtil/Config.h ../../include/IceUtil/Unicode.h
+Server.o: Server.cpp ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Service.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../IcePatch2/FileServerI.h ../../include/IcePatch2/Util.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/FileServer.h OS.h
+FileServerI.o: FileServerI.cpp ../../include/IceUtil/DisableWarnings.h ../../include/IceUtil/Unicode.h ../../include/IceUtil/Config.h ../IcePatch2/FileServerI.h ../../include/IcePatch2/Util.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/FileServer.h OS.h
+Client.o: Client.cpp ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Process.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/Util.h ../../include/IcePatch2/FileInfo.h ../../include/IcePatch2/ClientUtil.h ../../include/IcePatch2/FileServer.h
+Calc.o: Calc.cpp ../../include/IceUtil/Options.h ../../include/IceUtil/Config.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Unicode.h ../../include/IcePatch2/Util.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IcePatch2/FileInfo.h OS.h
FileInfo.cpp: ../../slice/IcePatch2/FileInfo.ice ../../slice/Ice/BuiltinSequences.ice
FileServer.cpp: ../../slice/IcePatch2/FileServer.ice ../../slice/IcePatch2/FileInfo.ice ../../slice/Ice/BuiltinSequences.ice
diff --git a/cpp/src/IcePatch2/Calc.cpp b/cpp/src/IcePatch2/Calc.cpp
index 0e4e7e40321..aa82650ab4a 100644
--- a/cpp/src/IcePatch2/Calc.cpp
+++ b/cpp/src/IcePatch2/Calc.cpp
@@ -8,11 +8,9 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/Unicode.h>
#include <IcePatch2/Util.h>
-
-#ifdef _WIN32
-# include <direct.h>
-#endif
+#include <OS.h>
using namespace std;
using namespace Ice;
@@ -186,30 +184,22 @@ main(int argc, char* argv[])
StringSeq::iterator p;
string absDataDir = dataDir;
-#ifdef _WIN32
- char cwd[_MAX_PATH];
- if(_getcwd(cwd, _MAX_PATH) == NULL)
- {
- throw "cannot get the current directory:\n" + lastError();
- }
-#else
- char cwd[PATH_MAX];
- if(getcwd(cwd, PATH_MAX) == NULL)
+ string cwd;
+ if(OS::getcwd(cwd) != 0)
{
throw "cannot get the current directory:\n" + lastError();
}
-#endif
if(!isAbsolute(absDataDir))
{
- absDataDir = simplify(string(cwd) + '/' + absDataDir);
+ absDataDir = simplify(cwd + '/' + absDataDir);
}
for(p = fileSeq.begin(); p != fileSeq.end(); ++p)
{
if(!isAbsolute(*p))
{
- *p = string(cwd) + '/' + *p;
+ *p = cwd + '/' + *p;
}
}
diff --git a/cpp/src/IcePatch2/ClientUtil.cpp b/cpp/src/IcePatch2/ClientUtil.cpp
index dbbc4f8f72f..93c21d505b4 100755
--- a/cpp/src/IcePatch2/ClientUtil.cpp
+++ b/cpp/src/IcePatch2/ClientUtil.cpp
@@ -147,7 +147,8 @@ IcePatch2::Patcher::Patcher(const CommunicatorPtr& communicator, const PatcherFe
_dataDir(simplify(communicator->getProperties()->getPropertyWithDefault("IcePatch2.Directory", "."))),
_thorough(communicator->getProperties()->getPropertyAsInt("IcePatch2.Thorough") > 0),
_chunkSize(communicator->getProperties()->getPropertyAsIntWithDefault("IcePatch2.ChunkSize", 100)),
- _remove(communicator->getProperties()->getPropertyAsIntWithDefault("IcePatch2.Remove", 1))
+ _remove(communicator->getProperties()->getPropertyAsIntWithDefault("IcePatch2.Remove", 1)),
+ _log(0)
{
PropertiesPtr properties = communicator->getProperties();
@@ -569,8 +570,11 @@ IcePatch2::Patcher::patch(const string& d)
void
IcePatch2::Patcher::finish()
{
- fclose(_log);
- _log = 0;
+ if(_log != 0)
+ {
+ fclose(_log);
+ _log = 0;
+ }
saveFileInfoSeq(_dataDir, _localFiles);
}
diff --git a/cpp/src/IcePatch2/FileServerI.cpp b/cpp/src/IcePatch2/FileServerI.cpp
index eac1790deba..e5b100b76f2 100644
--- a/cpp/src/IcePatch2/FileServerI.cpp
+++ b/cpp/src/IcePatch2/FileServerI.cpp
@@ -8,10 +8,9 @@
// **********************************************************************
#include <IceUtil/DisableWarnings.h>
+#include <IceUtil/Unicode.h>
#include <IcePatch2/FileServerI.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
+#include <OS.h>
#ifdef _WIN32
# include <io.h>
@@ -86,11 +85,7 @@ IcePatch2::FileServerI::getFileCompressed(const string& pa, Int pos, Int num, co
return ByteSeq();
}
-#ifdef _WIN32
- int fd = open((_dataDir + '/' + path + ".bz2").c_str(), _O_RDONLY | _O_BINARY);
-#else
- int fd = open((_dataDir + '/' + path + ".bz2").c_str(), O_RDONLY);
-#endif
+ int fd = OS::open(_dataDir + '/' + path + ".bz2", O_RDONLY|O_BINARY);
if(fd == -1)
{
FileAccessException ex;
diff --git a/cpp/src/IcePatch2/Makefile b/cpp/src/IcePatch2/Makefile
index 7b871504f0f..449cd776a33 100644
--- a/cpp/src/IcePatch2/Makefile
+++ b/cpp/src/IcePatch2/Makefile
@@ -23,7 +23,8 @@ TARGETS = $(LIBTARGETS) $(SERVER) $(CLIENT) $(CALC)
OBJS = Util.o \
ClientUtil.o \
FileInfo.o \
- FileServer.o
+ FileServer.o \
+ OS.o
SOBJS = Server.o \
FileServerI.o
@@ -45,7 +46,7 @@ SDIR = $(slicedir)/IcePatch2
include $(top_srcdir)/config/Make.rules
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_PATCH2_API_EXPORTS $(OPENSSL_FLAGS) $(BZIP2_FLAGS)
+CPPFLAGS := -I. -I.. $(CPPFLAGS) -DICE_PATCH2_API_EXPORTS $(OPENSSL_FLAGS) $(BZIP2_FLAGS)
SLICE2CPPFLAGS := --ice --include-dir IcePatch2 --dll-export ICE_PATCH2_API $(SLICE2CPPFLAGS)
LINKWITH := -lIce -lIceUtil $(OPENSSL_LIBS) $(BZIP2_LIBS)
diff --git a/cpp/src/IcePatch2/OS.cpp b/cpp/src/IcePatch2/OS.cpp
index 773f1657697..1f27c970055 100644
--- a/cpp/src/IcePatch2/OS.cpp
+++ b/cpp/src/IcePatch2/OS.cpp
@@ -59,13 +59,13 @@ OS::open(const string& path, int flags)
int
OS::getcwd(string& cwd)
{
- wchar_t cwdbuf[_MAX_PATH];
- if(_wgetcwd(cwdbuf, _MAX_PATH) == NULL)
- {
- return -1;
- }
- cwd = IceUtil::wstringToString(cwdbuf);
- return 0;
+ wchar_t cwdbuf[_MAX_PATH];
+ if(_wgetcwd(cwdbuf, _MAX_PATH) == NULL)
+ {
+ return -1;
+ }
+ cwd = IceUtil::wstringToString(cwdbuf);
+ return 0;
}
#else
@@ -79,7 +79,7 @@ OS::stat(const string& path, structstat* buf)
int
OS::remove(const string& path)
{
- ::remove(toPath.c_str());
+ return ::remove(path.c_str());
}
int
@@ -116,7 +116,7 @@ int
OS::getcwd(string& cwd)
{
char cwdbuf[PATH_MAX];
- if(getcwd(cwdbuf, PATH_MAX) == NULL)
+ if(::getcwd(cwdbuf, PATH_MAX) == NULL)
{
return -1;
}
diff --git a/cpp/src/IcePatch2/Server.cpp b/cpp/src/IcePatch2/Server.cpp
index cb45d297add..2b41f666018 100644
--- a/cpp/src/IcePatch2/Server.cpp
+++ b/cpp/src/IcePatch2/Server.cpp
@@ -11,10 +11,7 @@
#include <Ice/Service.h>
#include <IcePatch2/FileServerI.h>
#include <IcePatch2/Util.h>
-
-#ifdef _WIN32
-# include <direct.h>
-#endif
+#include <OS.h>
using namespace std;
using namespace Ice;
@@ -123,18 +120,13 @@ IcePatch2::PatcherService::start(int argc, char* argv[])
{
if(!isAbsolute(dataDir))
{
-#ifdef _WIN32
- char cwd[_MAX_PATH];
- if(_getcwd(cwd, _MAX_PATH) == NULL)
-#else
- char cwd[PATH_MAX];
- if(getcwd(cwd, PATH_MAX) == NULL)
-#endif
+ string cwd;
+ if(OS::getcwd(cwd) != 0)
{
throw "cannot get the current directory:\n" + lastError();
}
- dataDir = string(cwd) + '/' + dataDir;
+ dataDir = cwd + '/' + dataDir;
}
loadFileInfoSeq(dataDir, infoSeq);
@@ -169,7 +161,7 @@ IcePatch2::PatcherService::start(int argc, char* argv[])
string instanceName = properties->getPropertyWithDefault(instanceNameProperty, "IcePatch2");
const string idProperty = "IcePatch2.Identity";
- string idStr= properties->getProperty(idProperty);
+ string idStr = properties->getProperty(idProperty);
if(idStr.empty())
{
idStr = instanceName + "/server";
diff --git a/cpp/src/IcePatch2/Util.cpp b/cpp/src/IcePatch2/Util.cpp
index 375ce122de9..f4b0b0243a2 100644
--- a/cpp/src/IcePatch2/Util.cpp
+++ b/cpp/src/IcePatch2/Util.cpp
@@ -13,15 +13,11 @@
#include <openssl/sha.h>
#include <bzlib.h>
#include <iomanip>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
+#include <OS.h>
#ifdef _WIN32
# include <direct.h>
# include <io.h>
-# define S_ISDIR(mode) ((mode) & _S_IFDIR)
-# define S_ISREG(mode) ((mode) & _S_IFREG)
#else
# include <unistd.h>
# include <dirent.h>
@@ -104,6 +100,52 @@ using namespace std;
using namespace Ice;
using namespace IcePatch2;
+bool
+IcePatch2::writeFileInfo(FILE* fp, const FileInfo& info)
+{
+ int rc = fprintf(fp, "%s\t%s\t%d\t%d\n",
+ IceUtil::escapeString(info.path, "").c_str(),
+ bytesToString(info.checksum).c_str(),
+ info.size,
+ static_cast<int>(info.executable));
+ return rc > 0;
+}
+
+bool
+IcePatch2::readFileInfo(FILE* fp, FileInfo& info)
+{
+ string data;
+ char buf[BUFSIZ];
+ while(fgets(buf, sizeof(buf), fp) != 0)
+ {
+ data += buf;
+
+ int len = strlen(buf);
+ if(buf[len-1] == '\n')
+ {
+ break;
+ }
+ }
+ if(data.empty())
+ {
+ return false;
+ }
+
+ istringstream is(data);
+
+ string s;
+ getline(is, s, '\t');
+ IceUtil::unescapeString(s, 0, s.size(), info.path);
+
+ getline(is, s, '\t');
+ info.checksum = stringToBytes(s);
+
+ is >> info.size;
+ is >> info.executable;
+
+ return true;
+}
+
string
IcePatch2::lastError()
{
@@ -378,9 +420,9 @@ IcePatch2::rename(const string& fromPa, const string& toPa)
const string fromPath = simplify(fromPa);
const string toPath = simplify(toPa);
- ::remove(toPath.c_str()); // We ignore errors, as the file we are renaming to might not exist.
+ OS::remove(toPath); // We ignore errors, as the file we are renaming to might not exist.
- if(::rename(fromPath.c_str(), toPath.c_str()) == -1)
+ if(OS::rename(fromPath ,toPath) == -1)
{
throw "cannot rename `" + fromPath + "' to `" + toPath + "': " + lastError();
}
@@ -391,26 +433,22 @@ IcePatch2::remove(const string& pa)
{
const string path = simplify(pa);
- struct stat buf;
- if(stat(path.c_str(), &buf) == -1)
+ OS::structstat buf;
+ if(OS::stat(path, &buf) == -1)
{
throw "cannot stat `" + path + "':\n" + lastError();
}
if(S_ISDIR(buf.st_mode))
{
-#ifdef _WIN32
- if(_rmdir(path.c_str()) == -1)
-#else
- if(rmdir(path.c_str()) == -1)
-#endif
+ if(OS::rmdir(path) == -1)
{
throw "cannot remove directory `" + path + "':\n" + lastError();
}
}
else
{
- if(::remove(path.c_str()) == -1)
+ if(OS::remove(path) == -1)
{
throw "cannot remove file `" + path + "':\n" + lastError();
}
@@ -422,8 +460,8 @@ IcePatch2::removeRecursive(const string& pa)
{
const string path = simplify(pa);
- struct stat buf;
- if(stat(path.c_str(), &buf) == -1)
+ OS::structstat buf;
+ if(OS::stat(path, &buf) == -1)
{
throw "cannot stat `" + path + "':\n" + lastError();
}
@@ -438,11 +476,7 @@ IcePatch2::removeRecursive(const string& pa)
if(!isRoot(path))
{
-#ifdef _WIN32
- if(_rmdir(path.c_str()) == -1)
-#else
- if(rmdir(path.c_str()) == -1)
-#endif
+ if(OS::rmdir(path) == -1)
{
throw "cannot remove directory `" + path + "':\n" + lastError();
}
@@ -450,7 +484,7 @@ IcePatch2::removeRecursive(const string& pa)
}
else
{
- if(::remove(path.c_str()) == -1)
+ if(OS::remove(path) == -1)
{
throw "cannot remove file `" + path + "':\n" + lastError();
}
@@ -464,11 +498,16 @@ IcePatch2::readDirectory(const string& pa)
#ifdef _WIN32
- struct _finddata_t data;
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
- long h = _findfirst(simplify((path + "/*")).c_str(), &data);
+ struct _wfinddata_t data;
+ const wstring fs = IceUtil::stringToWstring(simplify(path + "/*"));
+
+#if defined(_MSC_VER) && (_MSC_VER < 1300)
+ //
+ // TODO: Why is this cast necessary?
+ //
+ long h = _wfindfirst(const_cast<wchar_t*>(fs.c_str()), &data);
#else
- intptr_t h = _findfirst(simplify((path + "/*")).c_str(), &data);
+ intptr_t h = _wfindfirst(fs.c_str(), &data);
#endif
if(h == -1)
{
@@ -479,7 +518,7 @@ IcePatch2::readDirectory(const string& pa)
while(true)
{
- string name = data.name;
+ string name = IceUtil::wstringToString(data.name);
assert(!name.empty());
if(name != ".." && name != ".")
@@ -487,7 +526,7 @@ IcePatch2::readDirectory(const string& pa)
result.push_back(name);
}
- if(_findnext(h, &data) == -1)
+ if(_wfindnext(h, &data) == -1)
{
if(errno == ENOENT)
{
@@ -542,11 +581,7 @@ IcePatch2::createDirectory(const string& pa)
{
const string path = simplify(pa);
-#ifdef _WIN32
- if(_mkdir(path.c_str()) == -1)
-#else
- if(mkdir(path.c_str(), 0777) == -1)
-#endif
+ if(OS::mkdir(path, 0777) == -1)
{
if(errno != EEXIST)
{
@@ -566,11 +601,7 @@ IcePatch2::createDirectoryRecursive(const string& pa)
createDirectoryRecursive(dir);
}
-#ifdef _WIN32
- if(_mkdir(path.c_str()) == -1)
-#else
- if(mkdir(path.c_str(), 0777) == -1)
-#endif
+ if(OS::mkdir(path, 0777) == -1)
{
if(errno != EEXIST)
{
@@ -584,7 +615,7 @@ IcePatch2::compressBytesToFile(const string& pa, const ByteSeq& bytes, Int pos)
{
const string path = simplify(pa);
- FILE* stdioFile = fopen(path.c_str(), "wb");
+ FILE* stdioFile = OS::fopen(path, "wb");
if(!stdioFile)
{
throw "cannot open `" + path + "' for writing:\n" + lastError();
@@ -637,91 +668,107 @@ IcePatch2::decompressFile(const string& pa)
const string path = simplify(pa);
const string pathBZ2 = path + ".bz2";
- ofstream file(path.c_str(), ios::binary);
- if(!file)
- {
- throw "cannot open `" + path + "' for writing:\n" + lastError();
- }
-
- FILE* stdioFileBZ2 = fopen(pathBZ2.c_str(), "rb");
- if(!stdioFileBZ2)
- {
- throw "cannot open `" + pathBZ2 + "' for reading:\n" + lastError();
- }
-
+ FILE* fp = 0;
+ FILE* stdioFileBZ2 = 0;
int bzError;
- BZFILE* bzFile = BZ2_bzReadOpen(&bzError, stdioFileBZ2, 0, 0, 0, 0);
- if(bzError != BZ_OK)
+ BZFILE* bzFile = 0;
+
+ try
{
- string ex = "BZ2_bzReadOpen failed";
- if(bzError == BZ_IO_ERROR)
+ fp = OS::fopen(path, "wb");
+ if(!fp)
{
- ex += string(": ") + lastError();
+ throw "cannot open `" + path + "' for writing:\n" + lastError();
+ }
+
+ stdioFileBZ2 = OS::fopen(pathBZ2, "rb");
+ if(!stdioFileBZ2)
+ {
+ throw "cannot open `" + pathBZ2 + "' for reading:\n" + lastError();
}
- fclose(stdioFileBZ2);
- throw ex;
- }
-
- const Int numBZ2 = 64 * 1024;
- Byte bytesBZ2[numBZ2];
- while(bzError != BZ_STREAM_END)
- {
- int sz = BZ2_bzRead(&bzError, bzFile, bytesBZ2, numBZ2);
- if(bzError != BZ_OK && bzError != BZ_STREAM_END)
+ bzFile = BZ2_bzReadOpen(&bzError, stdioFileBZ2, 0, 0, 0, 0);
+ if(bzError != BZ_OK)
{
- string ex = "BZ2_bzRead failed";
+ string ex = "BZ2_bzReadOpen failed";
if(bzError == BZ_IO_ERROR)
{
ex += string(": ") + lastError();
}
- BZ2_bzReadClose(&bzError, bzFile);
- fclose(stdioFileBZ2);
throw ex;
}
-
- if(sz > 0)
+
+ const Int numBZ2 = 64 * 1024;
+ Byte bytesBZ2[numBZ2];
+
+ while(bzError != BZ_STREAM_END)
{
- long pos = ftell(stdioFileBZ2);
- if(pos == -1)
+ int sz = BZ2_bzRead(&bzError, bzFile, bytesBZ2, numBZ2);
+ if(bzError != BZ_OK && bzError != BZ_STREAM_END)
{
- BZ2_bzReadClose(&bzError, bzFile);
- fclose(stdioFileBZ2);
- throw "cannot get read position for `" + pathBZ2 + "':\n" + lastError();
+ string ex = "BZ2_bzRead failed";
+ if(bzError == BZ_IO_ERROR)
+ {
+ ex += string(": ") + lastError();
+ }
+ throw ex;
}
-
- file.write(reinterpret_cast<char*>(bytesBZ2), sz);
- if(!file)
+
+ if(sz > 0)
{
- BZ2_bzReadClose(&bzError, bzFile);
- fclose(stdioFileBZ2);
- throw "cannot write to `" + path + "':\n" + lastError();
+ long pos = ftell(stdioFileBZ2);
+ if(pos == -1)
+ {
+ throw "cannot get read position for `" + pathBZ2 + "':\n" + lastError();
+ }
+
+ if(fwrite(bytesBZ2, sz, 1, fp) != 1)
+ {
+ throw "cannot write to `" + path + "':\n" + lastError();
+ }
}
}
+
+ BZ2_bzReadClose(&bzError, bzFile);
+ bzFile = 0;
+ if(bzError != BZ_OK)
+ {
+ string ex = "BZ2_bzReadClose failed";
+ if(bzError == BZ_IO_ERROR)
+ {
+ ex += string(": ") + lastError();
+ }
+ throw ex;
+ }
}
-
- BZ2_bzReadClose(&bzError, bzFile);
- if(bzError != BZ_OK)
+ catch(...)
{
- string ex = "BZ2_bzReadClose failed";
- if(bzError == BZ_IO_ERROR)
+ if(bzFile != 0)
{
- ex += string(": ") + lastError();
+ BZ2_bzReadClose(&bzError, bzFile);
}
- fclose(stdioFileBZ2);
- throw ex;
+ if(stdioFileBZ2 != 0)
+ {
+ fclose(stdioFileBZ2);
+ }
+ if(fp != 0)
+ {
+ fclose(fp);
+ }
+ throw;
}
fclose(stdioFileBZ2);
-};
+ fclose(fp);
+}
void
IcePatch2::setFileFlags(const string& pa, const FileInfo& info)
{
#ifndef _WIN32 // Windows doesn't support the executable flag
const string path = simplify(pa);
- struct stat buf;
- if(stat(path.c_str(), &buf) == -1)
+ OS::structstat buf;
+ if(OS::stat(path, &buf) == -1)
{
throw "cannot stat `" + path + "':\n" + lastError();
}
@@ -755,8 +802,8 @@ getFileInfoSeqInt(const string& basePath, const string& relPath, int compress, G
}
else
{
- struct stat buf;
- if(stat(getWithoutSuffix(path).c_str(), &buf) == -1)
+ OS::structstat buf;
+ if(OS::stat(getWithoutSuffix(path), &buf) == -1)
{
if(errno == ENOENT)
{
@@ -785,8 +832,8 @@ getFileInfoSeqInt(const string& basePath, const string& relPath, int compress, G
}
else
{
- struct stat buf;
- if(stat(path.c_str(), &buf) == -1)
+ OS::structstat buf;
+ if(OS::stat(path, &buf) == -1)
{
throw "cannot stat `" + path + "':\n" + lastError();
}
@@ -840,11 +887,7 @@ getFileInfoSeqInt(const string& basePath, const string& relPath, int compress, G
if(buf.st_size != 0)
{
-#ifdef _WIN32
- int fd = open(path.c_str(), _O_RDONLY | _O_BINARY);
-#else
- int fd = open(path.c_str(), O_RDONLY);
-#endif
+ int fd = OS::open(path.c_str(), O_BINARY|O_RDONLY);
if(fd == -1)
{
throw "cannot open `" + path + "' for reading:\n" + lastError();
@@ -865,10 +908,10 @@ getFileInfoSeqInt(const string& basePath, const string& relPath, int compress, G
//
if(compress > 0)
{
- struct stat bufBZ2;
+ OS::structstat bufBZ2;
const string pathBZ2 = path + ".bz2";
- if(compress >= 2 || stat(pathBZ2.c_str(), &bufBZ2) == -1 || buf.st_mtime >= bufBZ2.st_mtime)
+ if(compress >= 2 || OS::stat(pathBZ2, &bufBZ2) == -1 || buf.st_mtime >= bufBZ2.st_mtime)
{
if(cb && !cb->compress(relPath))
{
@@ -885,9 +928,9 @@ getFileInfoSeqInt(const string& basePath, const string& relPath, int compress, G
compressBytesToFile(pathBZ2Temp, bytes, static_cast<Int>(relPath.size()));
- rename(pathBZ2Temp, pathBZ2);
+ OS::rename(pathBZ2Temp, pathBZ2);
- if(stat(pathBZ2.c_str(), &bufBZ2) == -1)
+ if(OS::stat(pathBZ2, &bufBZ2) == -1)
{
throw "cannot stat `" + pathBZ2 + "':\n" + lastError();
}
@@ -952,16 +995,27 @@ IcePatch2::saveFileInfoSeq(const string& pa, const FileInfoSeq& infoSeq)
{
const string path = simplify(pa + '/' + checksumFile);
- ofstream os(path.c_str());
- if(!os)
+ FILE* fp = OS::fopen(path, "w");
+ if(!fp)
{
throw "cannot open `" + path + "' for writing:\n" + lastError();
}
-
- for(FileInfoSeq::const_iterator p = infoSeq.begin(); p != infoSeq.end(); ++p)
+ try
+ {
+ for(FileInfoSeq::const_iterator p = infoSeq.begin(); p != infoSeq.end(); ++p)
+ {
+ if(!writeFileInfo(fp, *p))
+ {
+ throw "error writing `" + path + "':\n" + lastError();
+ }
+ }
+ }
+ catch(...)
{
- os << *p << '\n';
+ fclose(fp);
+ throw;
}
+ fclose(fp);
}
{
@@ -983,22 +1037,25 @@ IcePatch2::loadFileInfoSeq(const string& pa, FileInfoSeq& infoSeq)
{
const string path = simplify(pa + '/' + checksumFile);
- ifstream is(path.c_str());
- if(!is)
+ FILE* fp = OS::fopen(path, "r");
+ if(!fp)
{
throw "cannot open `" + path + "' for reading:\n" + lastError();
}
- while(is.good())
+ while(true)
{
FileInfo info;
- is >> info;
-
- if(is.good())
+ if(readFileInfo(fp, info))
{
infoSeq.push_back(info);
}
+ else
+ {
+ break;
+ }
}
+ fclose(fp);
sort(infoSeq.begin(), infoSeq.end(), FileInfoLess());
infoSeq.erase(unique(infoSeq.begin(), infoSeq.end(), FileInfoEqual()), infoSeq.end());
@@ -1007,32 +1064,36 @@ IcePatch2::loadFileInfoSeq(const string& pa, FileInfoSeq& infoSeq)
{
const string pathLog = simplify(pa + '/' + logFile);
- ifstream is(pathLog.c_str());
- if(is)
+ FILE* fp = OS::fopen(pathLog, "r");
+ if(fp != 0)
{
FileInfoSeq remove;
FileInfoSeq update;
- while(is.good())
+ while(true)
{
- char c;
- is >> c;
+ int c = fgetc(fp);
+ if(c == EOF)
+ {
+ break;
+ }
FileInfo info;
- is >> info;
+ if(!readFileInfo(fp, info))
+ {
+ break;
+ }
- if(is.good())
+ if(c == '-')
{
- if(c == '-')
- {
- remove.push_back(info);
- }
- else if(c == '+')
- {
- update.push_back(info);
- }
+ remove.push_back(info);
+ }
+ else if(c == '+')
+ {
+ update.push_back(info);
}
}
+ fclose(fp);
sort(remove.begin(), remove.end(), FileInfoLess());
remove.erase(unique(remove.begin(), remove.end(), FileInfoEqual()), remove.end());
@@ -1130,31 +1191,3 @@ IcePatch2::getFileTree0(const FileInfoSeq& infoSeq, FileTree0& tree0)
}
}
-ostream&
-IcePatch2::operator<<(ostream& os, const FileInfo& info)
-{
- os << IceUtil::escapeString(info.path, "") << '\t'
- << bytesToString(info.checksum) << '\t'
- << info.size << '\t'
- << info.executable;
- return os;
-}
-
-istream&
-IcePatch2::operator>>(istream& is, FileInfo& info)
-{
- string s;
-
- getline(is, s, '\t');
- IceUtil::unescapeString(s, 0, s.size(), info.path);
-
- getline(is, s, '\t');
- info.checksum = stringToBytes(s);
-
- is >> info.size;
- is >> info.executable;
-
- getline(is, s); // Read until the EOL
-
- return is;
-}
diff --git a/cpp/src/IcePatch2/icepatch2.dsp b/cpp/src/IcePatch2/icepatch2.dsp
index f80d929a260..22613fc714e 100755
--- a/cpp/src/IcePatch2/icepatch2.dsp
+++ b/cpp/src/IcePatch2/icepatch2.dsp
@@ -118,6 +118,10 @@ SOURCE=.\FileServer.cpp
# End Source File
# Begin Source File
+SOURCE=.\OS.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\Util.cpp
# End Source File
# End Group
@@ -138,6 +142,10 @@ SOURCE=..\..\include\icepatch2\FileServer.h
# End Source File
# Begin Source File
+SOURCE=.\OS.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\include\icepatch2\Util.h
# End Source File
# End Group
diff --git a/cpp/src/IcePatch2/icepatch2S.dsp b/cpp/src/IcePatch2/icepatch2S.dsp
index edb64ce69d5..d48ba989c15 100755
--- a/cpp/src/IcePatch2/icepatch2S.dsp
+++ b/cpp/src/IcePatch2/icepatch2S.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /WX /GR /GX /Zi /O2 /I ".." /I "../../include" /D "_CONSOLE" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /c
+# ADD CPP /nologo /MD /W3 /WX /GR /GX /Zi /O2 /I "." /I ".." /I "../../include" /D "_CONSOLE" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /c
# SUBTRACT CPP /Fr /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -74,7 +74,7 @@ PostBuild_Cmds=copy $(OutDir)\$(TargetName).exe ..\..\bin
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I ".." /I "../../include" /D "_CONSOLE" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I "." /I ".." /I "../../include" /D "_CONSOLE" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /GZ /c
# SUBTRACT CPP /Fr /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
diff --git a/cpp/src/IcePatch2/icepatch2calc.dsp b/cpp/src/IcePatch2/icepatch2calc.dsp
index 927792826f3..6d9a5d48d52 100644
--- a/cpp/src/IcePatch2/icepatch2calc.dsp
+++ b/cpp/src/IcePatch2/icepatch2calc.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /WX /GR /GX /Zi /O2 /I ".." /I "../../include" /I "dummyinclude" /D "_CONSOLE" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /c
+# ADD CPP /nologo /MD /W3 /WX /GR /GX /Zi /O2 /I "." /I ".." /I "../../include" /I "dummyinclude" /D "_CONSOLE" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /c
# SUBTRACT CPP /Fr /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -74,7 +74,7 @@ PostBuild_Cmds=copy $(OutDir)\$(TargetName).exe ..\..\bin
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I ".." /I "../../include" /I "dummyinclude" /D "_CONSOLE" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /WX /Gm /GR /GX /Zi /Od /I "." /I ".." /I "../../include" /I "dummyinclude" /D "_CONSOLE" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /GZ /c
# SUBTRACT CPP /Fr /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
diff --git a/cpp/src/IceUtil/StringUtil.cpp b/cpp/src/IceUtil/StringUtil.cpp
index 89c4013f2c3..954394fcc25 100644
--- a/cpp/src/IceUtil/StringUtil.cpp
+++ b/cpp/src/IceUtil/StringUtil.cpp
@@ -76,10 +76,14 @@ escapeChar(string::value_type b, string& s, const string& special)
}
default:
{
- if(static_cast<signed char>(b) <= 31 || b == 127)
+ //
+ // Octal encode anything that is outside 32 to 126.
+ //
+ unsigned char i = static_cast<unsigned char>(b);
+ if(i < 32 || i > 126)
{
s.push_back('\\');
- string octal = toOctalString(b);
+ string octal = toOctalString(i);
//
// Add leading zeroes so that we avoid problems during
@@ -208,14 +212,15 @@ IceUtil::unescapeString(const string& s, string::size_type start, string::size_t
}
default:
{
- if(static_cast<signed char>(ch) <= 31 || ch == 127)
- {
- return false; // Malformed encoding.
- }
- else
- {
- result.push_back(ch);
- }
+ unsigned char i = static_cast<unsigned char>(ch);
+ if(i < 32 || i > 126)
+ {
+ return false; // Malformed encoding.
+ }
+ else
+ {
+ result.push_back(ch);
+ }
}
}
}
diff --git a/cpp/src/IceUtil/iceutil.dsp b/cpp/src/IceUtil/iceutil.dsp
index f4f56a56da2..19a8f9c9978 100644
--- a/cpp/src/IceUtil/iceutil.dsp
+++ b/cpp/src/IceUtil/iceutil.dsp
@@ -90,7 +90,7 @@ LINK32=link.exe
# Begin Special Build Tool
OutDir=.\Debug
SOURCE="$(InputPath)"
-PostBuild_Cmds=copy $(OutDir)\iceutild.lib ..\..\lib copy $(OutDir)\iceutil30d.pdb ..\..\bin copy $(OutDir)\iceutil30d.dll ..\..\bin
+PostBuild_Cmds=copy $(OutDir)\iceutild.lib ..\..\lib copy $(OutDir)\iceutil30d.dll ..\..\bin copy $(OutDir)\iceutil30d.pdb ..\..\bin
# End Special Build Tool
!ENDIF