@@ -166,7 +166,7 @@ ACE_INET_Addr::reset ()
166166
167167ACE_INET_Addr::ACE_INET_Addr ()
168168 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
169- if_name_( 0 )
169+ if_name_ ( nullptr )
170170{
171171 // ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr");
172172 this ->reset_i ();
@@ -292,7 +292,7 @@ ACE_INET_Addr::set (const char address[], int address_family)
292292
293293ACE_INET_Addr::ACE_INET_Addr (const char address[], int address_family)
294294 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
295- if_name_( 0 )
295+ if_name_ ( nullptr )
296296{
297297 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
298298 this ->set (address, address_family);
@@ -301,7 +301,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char address[], int address_family)
301301#if defined (ACE_HAS_WCHAR)
302302ACE_INET_Addr::ACE_INET_Addr (const wchar_t address[], int address_family)
303303 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
304- if_name_( 0 )
304+ if_name_ ( nullptr )
305305{
306306 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
307307 this ->set (address, address_family);
@@ -313,13 +313,13 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t address[], int address_family)
313313
314314ACE_INET_Addr::ACE_INET_Addr (const ACE_INET_Addr &sa)
315315 : ACE_Addr (sa.get_type (), sa.get_size()),
316- if_name_( 0 )
316+ if_name_ ( nullptr )
317317{
318318 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
319319 this ->set (sa);
320320 if (sa.if_name_ )
321321 {
322- this ->set_interface_name ( sa.if_name_ );
322+ this ->set_interface_name (sa.if_name_ -> c_str () );
323323 }
324324}
325325
@@ -549,7 +549,7 @@ ACE_INET_Addr::ACE_INET_Addr (u_short port_number,
549549 const char host_name[],
550550 int address_family)
551551 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
552- if_name_( 0 )
552+ if_name_ ( nullptr )
553553{
554554 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
555555 ACE_OS::memset (&this ->inet_addr_ , 0 , sizeof (this ->inet_addr_ ));
@@ -568,7 +568,7 @@ ACE_INET_Addr::ACE_INET_Addr (u_short port_number,
568568 const wchar_t host_name[],
569569 int address_family)
570570 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
571- if_name_( 0 )
571+ if_name_ ( nullptr )
572572{
573573 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
574574 ACE_OS::memset (&this ->inet_addr_ , 0 , sizeof (this ->inet_addr_ ));
@@ -668,7 +668,7 @@ ACE_INET_Addr::set_addr (const void *addr, int /* len */, int map)
668668// Creates a ACE_INET_Addr from a sockaddr_in structure.
669669ACE_INET_Addr::ACE_INET_Addr (const sockaddr_in *addr, int len)
670670 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
671- if_name_( 0 )
671+ if_name_ ( nullptr )
672672{
673673 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
674674 this ->set (addr, len);
@@ -678,7 +678,7 @@ ACE_INET_Addr::ACE_INET_Addr (const sockaddr_in *addr, int len)
678678ACE_INET_Addr::ACE_INET_Addr (u_short port_number,
679679 ACE_UINT32 inet_address)
680680 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
681- if_name_( 0 )
681+ if_name_ ( nullptr )
682682{
683683 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
684684 if (this ->set (port_number, inet_address) == -1 )
@@ -693,7 +693,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[],
693693 const char host_name[],
694694 const char protocol[])
695695 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
696- if_name_( 0 )
696+ if_name_ ( nullptr )
697697{
698698 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
699699 if (this ->set (port_name,
@@ -708,7 +708,7 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[],
708708 const wchar_t host_name[],
709709 const wchar_t protocol[])
710710 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
711- if_name_( 0 )
711+ if_name_ ( nullptr )
712712{
713713 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
714714 if (this ->set (port_name,
@@ -724,7 +724,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[],
724724 ACE_UINT32 inet_address,
725725 const char protocol[])
726726 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
727- if_name_( 0 )
727+ if_name_ ( nullptr )
728728{
729729 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
730730 if (this ->set (port_name,
@@ -739,7 +739,7 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[],
739739 ACE_UINT32 inet_address,
740740 const wchar_t protocol[])
741741 : ACE_Addr (determine_type (), sizeof (inet_addr_)),
742- if_name_( 0 )
742+ if_name_ ( nullptr )
743743{
744744 ACE_TRACE (" ACE_INET_Addr::ACE_INET_Addr" );
745745 if (this ->set (port_name,
@@ -752,7 +752,6 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[],
752752
753753ACE_INET_Addr::~ACE_INET_Addr ()
754754{
755- delete [] this ->if_name_ ;
756755}
757756
758757int
@@ -1019,7 +1018,7 @@ ACE_INET_Addr::set_interface (const char *intf_name)
10191018}
10201019#endif /* ACE_LINUX && ACE_HAS_IPV6 */
10211020
1022- const char *
1021+ std::shared_ptr< const std::string>
10231022ACE_INET_Addr::get_interface_name () const
10241023{
10251024 return this ->if_name_ ;
@@ -1028,25 +1027,13 @@ ACE_INET_Addr::get_interface_name () const
10281027void
10291028ACE_INET_Addr::set_interface_name (const char * if_name)
10301029{
1031- size_t length (if_name == 0 ? 0 : strnlen (if_name, 52 )); // stops counting at 52 if null byte not found by then
1032- if (length > 50 )
1033- {
1034- // Interface names are usually just a few characters, Windows are the longest, as they are UUIDs
1035- std::string msg (" ACE_INET_Addr::set_interface_name: if_name is too long and likely not an interface name: " );
1036- msg += if_name;
1037- msg += " \n " ;
1038- ACELIB_ERROR ((LM_ERROR, ACE_TEXT_CHAR_TO_TCHAR (msg.c_str ())));
1039- return ;
1040- }
1041- delete [] this ->if_name_ ;
1042- if (length == 0 )
1030+ if (if_name == nullptr )
10431031 {
1044- this ->if_name_ = 0 ;
1032+ this ->if_name_ . reset () ;
10451033 }
10461034 else
10471035 {
1048- this ->if_name_ = new char [length + 1 ];
1049- ACE_OS::strncpy (this ->if_name_ , if_name, length + 1 );
1036+ this ->if_name_ = std::make_shared<const std::string> (if_name);
10501037 }
10511038}
10521039
0 commit comments