diff --git a/RemoteDir.cpp b/RemoteDir.cpp index e3c8348..0378ee6 100644 --- a/RemoteDir.cpp +++ b/RemoteDir.cpp @@ -68,7 +68,7 @@ int RRemoteDir::open(const char *a_pattern) if (handler->getResponse()->m_result == KErrNone) { const char *name; - uint32_t size; + TInt64 size; TEntry *Entry; TTime Now; @@ -84,7 +84,7 @@ int RRemoteDir::open(const char *a_pattern) { name = reinterpret_cast(payload); payload += strlen(name) + 1; - READ_INT(size, payload); + READ_INT_64(size, payload); payload += sizeof(size); if ((Entry = m_entries.Append(name)) != NULL) @@ -104,6 +104,8 @@ int RRemoteDir::open(const char *a_pattern) } catch (RSocket::Error &a_exception) { + Utils::info("RRemoteDir::open() => Unable to perform I/O on socket (Error = %d)", a_exception.m_result); + retVal = KErrNotFound; } diff --git a/RemoteFile.cpp b/RemoteFile.cpp index e95cfe3..222e17d 100644 --- a/RemoteFile.cpp +++ b/RemoteFile.cpp @@ -232,10 +232,11 @@ int RRemoteFile::read(unsigned char *a_buffer, int a_length) void RRemoteFile::readFromRemote() { - uint32_t bytesRead = 0, bytesToRead, fileSize, size; + uint32_t bytesRead = 0, bytesToRead, size; + TInt64 fileSize; m_socket.read(&fileSize, sizeof(fileSize)); - SWAP(&fileSize); + SWAP64(&fileSize); m_fileBuffer.resize(fileSize); @@ -338,13 +339,12 @@ int RRemoteFile::close() handler = new CSend(&m_socket, m_fileName.c_str()); handler->sendRequest(); - int fileSize = static_cast(m_fileBuffer.size()); - SWAP(&fileSize); + TInt64 fileSize = static_cast(m_fileBuffer.size()); + SWAP64(&fileSize); m_socket.write(&fileSize, sizeof(fileSize)); m_socket.write(m_fileBuffer.data(), static_cast(m_fileBuffer.size())); - delete handler; m_dirty = false; } catch (RSocket::Error &a_exception)