myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myserver-commit] [3089] Code refactoring: `FilesUtility::copyFile (cons


From: Giuseppe Scrivano
Subject: [myserver-commit] [3089] Code refactoring: `FilesUtility::copyFile (const char*, const char*, int)' calls internally `FilesUtility::copyFile (File&, File&)'.
Date: Fri, 22 May 2009 20:21:11 +0000

Revision: 3089
          http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=3089
Author:   gscrivano
Date:     2009-05-22 20:21:08 +0000 (Fri, 22 May 2009)
Log Message:
-----------
Code refactoring: `FilesUtility::copyFile (const char*, const char*, int)' 
calls internally `FilesUtility::copyFile (File&, File&)'.

Modified Paths:
--------------
    trunk/myserver/include/base/file/files_utility.h
    trunk/myserver/src/base/file/files_utility.cpp

Modified: trunk/myserver/include/base/file/files_utility.h
===================================================================
--- trunk/myserver/include/base/file/files_utility.h    2009-05-20 18:12:05 UTC 
(rev 3088)
+++ trunk/myserver/include/base/file/files_utility.h    2009-05-22 20:21:08 UTC 
(rev 3089)
@@ -77,7 +77,7 @@
     {return renameFile(before.c_str(), after.c_str());}
 
   static int copyFile(const char*, const char*, int overwrite);
-  static int copyFile(File, File);
+  static int copyFile(File&, File&);
   static int copyFile(string const &src, string const &dest, int overwrite)
   {return copyFile(src.c_str(), dest.c_str(), overwrite);}
 

Modified: trunk/myserver/src/base/file/files_utility.cpp
===================================================================
--- trunk/myserver/src/base/file/files_utility.cpp      2009-05-20 18:12:05 UTC 
(rev 3088)
+++ trunk/myserver/src/base/file/files_utility.cpp      2009-05-22 20:21:08 UTC 
(rev 3089)
@@ -154,54 +154,31 @@
  *\param dest The destination file name.
  *\param overwrite Overwrite the dest file if already exists?
  */
-int FilesUtility::copyFile(const char* src, const char* dest, int overwrite)
+int FilesUtility::copyFile (const char* src, const char* dest, int overwrite)
 {
 #ifdef WIN32
-  return CopyFile(src, dest, overwrite ? FALSE : TRUE) ? 0 : 1;
+  return CopyFile (src, dest, overwrite ? FALSE : TRUE) ? 0 : 1;
 #else
-  int srcFile = open(src, O_RDONLY);
-  int destFile;
+  File srcFile;
+  File destFile;
   char buffer[4096];
   size_t dim;
 
-  if(srcFile == -1)
+  if (srcFile.openFile (src, File::MYSERVER_OPEN_READ))
     return -1;
 
-  if(overwrite)
-    destFile = open(dest, O_WRONLY);
-  else
-    destFile = open(dest, O_WRONLY | O_CREAT);
-
-  if(destFile == -1)
-  {
-    close(srcFile);
-    return -1;
-  }
-
-  do
-  {
-    dim = read(srcFile, buffer, 4096);
-
-    if(dim == (size_t)-1)
+  if (destFile.openFile (dest, File::MYSERVER_OPEN_WRITE | (overwrite ? 
File::MYSERVER_CREATE_ALWAYS : 0)))
     {
-      close(srcFile);
-      close(destFile);
+      srcFile.close ();
       return -1;
     }
 
-    if(dim && (write(destFile, buffer, dim) != -1))
-    {
-      close(srcFile);
-      close(destFile);
-      return -1;
-    }
+  int ret = copyFile (srcFile, destFile);
 
-  }while(dim);
+  srcFile.close ();
+  destFile.close ();
 
-  close(srcFile);
-  close(destFile);
-
-  return 0;
+  return ret;
 #endif
 }
 
@@ -210,23 +187,22 @@
  *\param src The source File.
  *\param dest The destination File.
  */
-int FilesUtility::copyFile(File src, File dest)
+int FilesUtility::copyFile (File& src, File& dest)
 {
   char buffer[4096];
   u_long nbr, nbw;
   int ret;
 
-
   for (;;) 
   {
-    ret = src.read(buffer, 4096, &nbr);
+    ret = src.read (buffer, 4096, &nbr);
     if (ret)
       return -1;
     
     if (!nbr)
       break;
     
-    ret = dest.writeToFile(buffer, nbr, &nbw);
+    ret = dest.writeToFile (buffer, nbr, &nbw);
     if (ret)
       return -1;
   }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]