(file) Return to System.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/System.cpp between version 1.83 and 1.84

version 1.83, 2013/01/04 04:47:21 version 1.84, 2013/03/19 17:15:19
Line 249 
Line 249 
     return dirname;     return dirname;
 } }
  
   //Wrapper on ::gethostname to be used in different parts of
   //this file avoiding class membership fee
   //
   // If gethostname() fails, an empty or truncated value is used.
   static void _get_hostName(char *hostname, const Uint32 len)
   {
       if( 0 > gethostname(hostname, len))
       {
           hostname[0] = 0;
           PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL1,
              "gethostname failed: %s",
              (const char*)PEGASUS_SYSTEM_ERRORMSG.getCString()));
       }
   }
   
 String System::getHostName() String System::getHostName()
 { {
     // Use double-checked locking pattern to avoid overhead of     // Use double-checked locking pattern to avoid overhead of
Line 261 
Line 276 
         if (0 == _hostname.size())         if (0 == _hostname.size())
         {         {
             char hostname[PEGASUS_MAXHOSTNAMELEN + 1];             char hostname[PEGASUS_MAXHOSTNAMELEN + 1];
             // If gethostname() fails, an empty or truncated value is used.              _get_hostName(hostname, sizeof(hostname));
             hostname[0] = 0;  
             gethostname(hostname, sizeof(hostname));  
             hostname[sizeof(hostname)-1] = 0;             hostname[sizeof(hostname)-1] = 0;
             _hostname.assign(hostname);             _hostname.assign(hostname);
         }         }
Line 276 
Line 289 
 { {
     char hostName[PEGASUS_MAXHOSTNAMELEN + 1];     char hostName[PEGASUS_MAXHOSTNAMELEN + 1];
  
     // Get the short name of the local host.      _get_hostName(hostName, sizeof(hostName));
     // If gethostname() fails, an empty or truncated value is used.  
     hostName[0] = 0;  
     gethostname(hostName, sizeof(hostName));  
     hostName[sizeof(hostName)-1] = 0;     hostName[sizeof(hostName)-1] = 0;
  
 #if defined(PEGASUS_OS_ZOS)|| \ #if defined(PEGASUS_OS_ZOS)|| \
Line 379 
Line 389 
     if (String::equalNoCase(hostName, _hostname) ||     if (String::equalNoCase(hostName, _hostname) ||
         String::equalNoCase(hostName, _fullyQualifiedHostname))         String::equalNoCase(hostName, _fullyQualifiedHostname))
     {     {
         gethostname(localHostName, PEGASUS_MAXHOSTNAMELEN);          _get_hostName(localHostName, sizeof(localHostName));
         hostNamePtr= (const char*) localHostName;         hostNamePtr= (const char*) localHostName;
     }     }
     else     else
Line 701 
Line 711 
     CString csName = hostName.getCString();     CString csName = hostName.getCString();
     struct addrinfo hints, *res1, *res2, *res1root, *res2root;     struct addrinfo hints, *res1, *res2, *res1root, *res2root;
     char localHostName[PEGASUS_MAXHOSTNAMELEN];     char localHostName[PEGASUS_MAXHOSTNAMELEN];
     gethostname(localHostName, PEGASUS_MAXHOSTNAMELEN);      _get_hostName(localHostName, sizeof(localHostName));
     Boolean isLocal = false;     Boolean isLocal = false;
  
     memset(&hints, 0, sizeof(hints));     memset(&hints, 0, sizeof(hints));
Line 909 
Line 919 
         char hostName[PEGASUS_MAXHOSTNAMELEN + 1];         char hostName[PEGASUS_MAXHOSTNAMELEN + 1];
         if (String::equalNoCase("localhost", String(name)))         if (String::equalNoCase("localhost", String(name)))
         {         {
             gethostname(hostName, PEGASUS_MAXHOSTNAMELEN);              _get_hostName(hostName, sizeof(hostName));
             hostName[sizeof(hostName) - 1] = 0;             hostName[sizeof(hostName) - 1] = 0;
             hostEntry = gethostbyname(hostName);             hostEntry = gethostbyname(hostName);
         }         }


Legend:
Removed from v.1.83  
changed lines
  Added in v.1.84

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2