[Top][All Lists]
[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [3089] Code refactoring: `FilesUtility::copyFile (const char*, const char*, int)' calls internally `FilesUtility::copyFile (File&, File&)'.,
Giuseppe Scrivano <=