diff options
| author | 2010-07-22 14:50:48 +0000 | |
|---|---|---|
| committer | 2010-07-22 14:50:48 +0000 | |
| commit | f61de507fe9be2ff339fb153d927e4641277d626 (patch) | |
| tree | 76a9e3a635c6f97a870aff736e335609fea64ac8 /src/modules/objects/class_socket.cpp | |
| parent | implemented #799 (and fixed some serverdb module docs) (diff) | |
| download | KVIrc-f61de507fe9be2ff339fb153d927e4641277d626.tar.gz KVIrc-f61de507fe9be2ff339fb153d927e4641277d626.tar.bz2 KVIrc-f61de507fe9be2ff339fb153d927e4641277d626.zip | |
KVS code improvements
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4686 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/class_socket.cpp')
| -rw-r--r-- | src/modules/objects/class_socket.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/modules/objects/class_socket.cpp b/src/modules/objects/class_socket.cpp index 74dee6ac7..c572f4d5f 100644 --- a/src/modules/objects/class_socket.cpp +++ b/src/modules/objects/class_socket.cpp @@ -412,16 +412,29 @@ KVSO_CLASS_FUNCTION(socket,read) c->warning(__tr2qs_ctx("Buffer parameter is not an object","objects")); return true; } - if (!pObject->inheritsClass("memorybuffer")) + if (pObject->inheritsClass("memorybuffer")) + { + QByteArray *pBuffer=((KviKvsObject_memorybuffer *)pObject)->pBuffer(); + int oldsize=pBuffer->size(); + pBuffer->resize(oldsize+uLen); + kvi_memmove(pBuffer->data()+oldsize,m_pInBuffer,uLen); + + } + else if (pObject->inheritsClass("file")) + { + KviFile *pFile=((KviKvsObject_file *)pObject)->file(); + if (!pFile->isOpen()) + { + c->warning(__tr2qs_ctx("File is not open!","objects")); + return true; + } + pFile->write(m_pInBuffer,uLen); + } + else { c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object","objects")); return true; } - - QByteArray *pBuffer=((KviKvsObject_memorybuffer *)pObject)->pBuffer(); - int oldsize=pBuffer->size(); - pBuffer->resize(oldsize+uLen); - kvi_memmove(pBuffer->data()+oldsize,m_pInBuffer,uLen); eatInData(uLen); return true; } @@ -441,6 +454,7 @@ KVSO_CLASS_FUNCTION(socket,read) } + KVSO_CLASS_FUNCTION(socket,write) { kvs_uint_t uLen; |
