(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.10 and 1.16

version 1.10, 2002/04/14 06:02:30 version 1.16, 2003/08/12 18:00:11
Line 1 
Line 1 
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
 // Compaq Computer Corporation  // The Open Group, Tivoli Systems
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 31 
Line 31 
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
   #if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
   #include <Pegasus/Common/Config.h>
   #endif
   
   
 #include <fstream> #include <fstream>
   #include <cctype>  // for tolower()
   #include <cstring>
 #include "System.h" #include "System.h"
  
 #include <Pegasus/Common/PegasusVersion.h> #include <Pegasus/Common/PegasusVersion.h>
Line 46 
Line 53 
 # error "Unsupported platform" # error "Unsupported platform"
 #endif #endif
  
   #if defined(PEGASUS_OS_OS400)
   # include "OS400ConvertChar.h"
   #endif
   
 PEGASUS_USING_STD; PEGASUS_USING_STD;
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 Boolean System::copyFile(const char* fromPath, const char* toPath) Boolean System::copyFile(const char* fromPath, const char* toPath)
 { {
   #if defined(PEGASUS_OS_OS400)
       AtoE((char *)fromPath);
       AtoE((char *)toPath);
   #endif
   
     ifstream is(fromPath PEGASUS_IOS_BINARY);     ifstream is(fromPath PEGASUS_IOS_BINARY);
     ofstream os(toPath PEGASUS_IOS_BINARY);     ofstream os(toPath PEGASUS_IOS_BINARY);
  
   #if defined(PEGASUS_OS_OS400)
       EtoA((char *)fromPath);
       EtoA((char *)toPath);
   #endif
   
     char c;     char c;
  
     while (is.get(c))     while (is.get(c))
Line 66 
Line 87 
     return true;     return true;
 } }
  
   // ATTN: Move to platform-specific System implementation files and call
   // strcasecmp where it is available.
   Sint32 System::strcasecmp(const char* s1, const char* s2)
   {
       while (*s1 && *s2)
       {
           int r = tolower(*s1++) - tolower(*s2++);
   
           if (r)
               return r;
       }
   
       if (*s2)
           return -1;
       else if (*s1)
           return 1;
   
       return 0;
   }
   
   // Return the just the file name from the path into basename
   char *System::extract_file_name(const char *fullpath, char *basename)
   {
     char *p;
     char buff[2048];
     if (fullpath == NULL)
       {
         basename[0] = '\0';
         return basename;
       }
     strcpy(buff, fullpath);
     for(p = buff + strlen(buff); p >= buff; p--)
       {
         if (*p == '\\' || *p == '/')
           {
             strcpy(basename, p+1);
             return basename;
           }
       }
     strcpy(basename, fullpath);
     return basename;
   }
   
   // Return the just the path to the file name into dirname
   char *System::extract_file_path(const char *fullpath, char *dirname)
   {
     char *p;
     char buff[2048];
     if (fullpath == NULL)
       {
         dirname[0] = '\0';
         return dirname;
       }
     strcpy(buff, fullpath);
     for(p = buff + strlen(buff); p >= buff; p--)
       {
         if (*p == '\\' || *p == '/')
           {
             strncpy(dirname, buff, p+1 - buff);
             dirname[p+1 - buff] = '\0';
             return dirname;
           }
       }
     strcpy(dirname, fullpath);
     return dirname;
   }
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.10  
changed lines
  Added in v.1.16

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2