Changed flags for reading from "r" to "rb", for writing from "w" to "wb"
in the FileReader and FileWriter.
Added FileTransfer::procFLRUpload(...) method.
Now It's possible the upload files and folders.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@423 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfb/FileManager.cxx b/rfb/FileManager.cxx
index 9592152..1bd3ab6 100644
--- a/rfb/FileManager.cxx
+++ b/rfb/FileManager.cxx
@@ -65,3 +65,9 @@
return true;
}
}
+
+bool
+FileManager::isCreated()
+{
+ if (m_pFile != NULL) return true; else return false;
+}
\ No newline at end of file
diff --git a/rfb/FileManager.h b/rfb/FileManager.h
index 609f281..a673f4d 100644
--- a/rfb/FileManager.h
+++ b/rfb/FileManager.h
@@ -35,6 +35,8 @@
bool create(char *pFilename);
bool close();
+ bool isCreated();
+
protected:
FILE *m_pFile;
char m_szMode[4];
diff --git a/rfb/FileReader.cxx b/rfb/FileReader.cxx
index 5b533ac..13c677f 100644
--- a/rfb/FileReader.cxx
+++ b/rfb/FileReader.cxx
@@ -27,7 +27,7 @@
FileReader::FileReader()
{
- strcpy(m_szMode, "r");
+ strcpy(m_szMode, "rb");
}
bool
@@ -35,15 +35,9 @@
{
if (m_pFile == NULL) return false;
- unsigned int bytesRead = fread(pBuf, 1, count, m_pFile);
-
+ *pBytesRead = fread(pBuf, 1, count, m_pFile);
+
if (ferror(m_pFile)) return false;
-
- if (feof(m_pFile)) {
- *pBytesRead = 0;
- } else {
- *pBytesRead = bytesRead;
- }
-
+
return true;
}
diff --git a/rfb/FileWriter.cxx b/rfb/FileWriter.cxx
index 6503cc9..9d8c4a5 100644
--- a/rfb/FileWriter.cxx
+++ b/rfb/FileWriter.cxx
@@ -27,7 +27,7 @@
FileWriter::FileWriter()
{
- strcpy(m_szMode, "w");
+ strcpy(m_szMode, "wb");
}
bool
diff --git a/rfb/fttypes.h b/rfb/fttypes.h
index 5b08fd0..1e9f601 100644
--- a/rfb/fttypes.h
+++ b/rfb/fttypes.h
@@ -30,6 +30,8 @@
#define FT_MAX_STATUS_STRINGS 255
#define FT_MAX_LENGTH_STATUS_STRINGS 130
+#define FT_MAX_SENDING_SIZE 8192
+
#define FT_ATTR_UNKNOWN 0x00000000
#define FT_ATTR_FILE 0x00000001
#define FT_ATTR_DIR 0x00000002