(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.29.2.1 and 1.34

version 1.29.2.1, 2005/09/29 03:25:00 version 1.34, 2005/11/15 14:40:29
Line 50 
Line 50 
 #include <cstring> #include <cstring>
 #include "System.h" #include "System.h"
 #include "Socket.h" #include "Socket.h"
 #include "CharSet.h"  
  
 #ifdef PEGASUS_PLATFORM_WIN32_IX86_MSVC #ifdef PEGASUS_PLATFORM_WIN32_IX86_MSVC
 # include <windows.h> # include <windows.h>
Line 98 
Line 97 
     return true;     return true;
 } }
  
   static const Uint8 _toLowerTable[256] =
   {
       0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
       0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
       0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
       0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
       0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
       0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
       0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
       0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
       0x40,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
       0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
       0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
       0x78,0x79,0x7A,0x5B,0x5C,0x5D,0x5E,0x5F,
       0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
       0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
       0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
       0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
       0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
       0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
       0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
       0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
       0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,
       0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
       0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,
       0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
       0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
       0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
       0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,
       0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
       0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,
       0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
       0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
       0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,
   };
   
 Sint32 System::strcasecmp(const char* s1, const char* s2) Sint32 System::strcasecmp(const char* s1, const char* s2)
 { {
     // Note: this is faster than glibc strcasecmp().     // Note: this is faster than glibc strcasecmp().
Line 108 
Line 143 
  
     for (;;)     for (;;)
     {     {
         if ((r = CharSet::to_lower(p[0]) - CharSet::to_lower(q[0])) || !p[0] ||          if ((r = _toLowerTable[p[0]] - _toLowerTable[q[0]]) || !p[0] ||
             (r = CharSet::to_lower(p[1]) - CharSet::to_lower(q[1])) || !p[1] ||              (r = _toLowerTable[p[1]] - _toLowerTable[q[1]]) || !p[1] ||
             (r = CharSet::to_lower(p[2]) - CharSet::to_lower(q[2])) || !p[2] ||              (r = _toLowerTable[p[2]] - _toLowerTable[q[2]]) || !p[2] ||
             (r = CharSet::to_lower(p[3]) - CharSet::to_lower(q[3])) || !p[3])              (r = _toLowerTable[p[3]] - _toLowerTable[q[3]]) || !p[3])
             break;             break;
  
         p += 4;         p += 4;
Line 124 
Line 159 
 // Return the just the file name from the path into basename // Return the just the file name from the path into basename
 char *System::extract_file_name(const char *fullpath, char *basename) char *System::extract_file_name(const char *fullpath, char *basename)
 { {
   char *p;  
   char buff[2048];  
   if (fullpath == NULL)   if (fullpath == NULL)
     {     {
       basename[0] = '\0';       basename[0] = '\0';
       return basename;       return basename;
     }     }
   strcpy(buff, fullpath);  
   for(p = buff + strlen(buff); p >= buff; p--)    for (const char* p = fullpath + strlen(fullpath) - 1; p >= fullpath; p--)
     {     {
       if (*p == '\\' || *p == '/')       if (*p == '\\' || *p == '/')
         {         {
Line 140 
Line 173 
           return basename;           return basename;
         }         }
     }     }
   
   strcpy(basename, fullpath);   strcpy(basename, fullpath);
   return basename;   return basename;
 } }
Line 188 
Line 222 
 #endif #endif
     {     {
         ::memcpy( &inaddr, phostent->h_addr,4);         ::memcpy( &inaddr, phostent->h_addr,4);
 #ifdef PEGASUS_PLATFORM_ZOS_ZSERIES_IBM  #if defined(PEGASUS_OS_OS400)
         char * gottenIPAdress = NULL;         char * gottenIPAdress = NULL;
         gottenIPAdress = ::inet_ntoa( inaddr );         gottenIPAdress = ::inet_ntoa( inaddr );
         __etoa(gottenIPAdress);  
         if (gottenIPAdress != NULL)         if (gottenIPAdress != NULL)
         {         {
               EtoA(gottenIPAdress);
             ipAddress.assign(gottenIPAdress);             ipAddress.assign(gottenIPAdress);
         }         }
 #else #else
Line 234 
Line 269 
  
 #ifdef PEGASUS_OS_OS400 #ifdef PEGASUS_OS_OS400
         Uint32 tmp_addr = inet_addr(ebcdicHost);         Uint32 tmp_addr = inet_addr(ebcdicHost);
 #elif defined(PEGASUS_OS_ZOS)  
         Uint32 tmp_addr = inet_addr_ebcdic((char *)hostname);  
 #else #else
         Uint32 tmp_addr = inet_addr((char *) hostname);         Uint32 tmp_addr = inet_addr((char *) hostname);
 #endif #endif
Line 259 
Line 292 
 #elif defined(PEGASUS_OS_OS400) #elif defined(PEGASUS_OS_OS400)
                 entry = gethostbyname(ebcdicHost);                 entry = gethostbyname(ebcdicHost);
 #elif defined(PEGASUS_OS_ZOS) #elif defined(PEGASUS_OS_ZOS)
                 char hostName[ PEGASUS_MAXHOSTNAMELEN ];                  char hostName[PEGASUS_MAXHOSTNAMELEN + 1];
                 if (String::equalNoCase("localhost",String(hostname)))                 if (String::equalNoCase("localhost",String(hostname)))
                 {                 {
                         gethostname( hostName, PEGASUS_MAXHOSTNAMELEN );                         gethostname( hostName, PEGASUS_MAXHOSTNAMELEN );
                           hostName[sizeof(hostName)-1] = 0;
                         entry = gethostbyname(hostName);                         entry = gethostbyname(hostName);
                 } else                 } else
                 {                 {


Legend:
Removed from v.1.29.2.1  
changed lines
  Added in v.1.34

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2