summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/UdpEndpointI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/UdpEndpointI.cpp')
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp28
1 files changed, 22 insertions, 6 deletions
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index 8d812e591dc..87cb12aafee 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -157,13 +157,29 @@ IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const strin
}
const_cast<bool&>(_compress) = true;
}
- else if(option == "-v")
+ else if(option == "-v" || option == "-e")
{
- _instance->initializationData().logger->warning("deprecated udp endpoint option: -v");
- }
- else if(option == "-e")
- {
- _instance->initializationData().logger->warning("deprecated udp endpoint option: -e");
+ if(argument.empty())
+ {
+ EndpointParseException ex(__FILE__, __LINE__);
+ ex.str = "no argument provided for " + option + " option in endpoint `udp " + str + "'";
+ throw ex;
+ }
+ try
+ {
+ Ice::Byte major, minor;
+ IceInternal::stringToMajorMinor(argument, major, minor);
+ if(major != 1 || minor != 0)
+ {
+ _instance->initializationData().logger->warning("deprecated udp endpoint option: " + option);
+ }
+ }
+ catch(const VersionParseException& e)
+ {
+ EndpointParseException ex(__FILE__, __LINE__);
+ ex.str = "invalid version `" + argument + "' in endpoint `udp " + str + "':\n" + e.str;
+ throw ex;
+ }
}
else if(option == "--interface")
{