summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2016-07-07 18:22:17 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2016-07-07 18:27:36 +0000
commit09f6a0f1cacd8d04d5ec8413eed712308395f962 (patch)
treedf2fbf8a5356848dae3a2ce6705e4cb6f1d5e10c
parent5ddbb6b87266d0f8d7dffc03c86c2e80b3735d2c (diff)
downloadqtserialport-09f6a0f1cacd8d04d5ec8413eed712308395f962.tar.gz
Use append() instead of memcpy() where possible
... to add the data to the internal QIODevice's buffer, that simplified the code and is more reliable. Change-Id: I61e6c7be3259cd754e4bbe6a3142dcdd6d33f7b6 Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r--src/serialport/qserialport_unix.cpp2
-rw-r--r--src/serialport/qserialport_win.cpp8
2 files changed, 4 insertions, 6 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
index acd76b5..8e06ada 100644
--- a/src/serialport/qserialport_unix.cpp
+++ b/src/serialport/qserialport_unix.cpp
@@ -889,7 +889,7 @@ inline bool QSerialPortPrivate::initialize(QIODevice::OpenMode mode)
qint64 QSerialPortPrivate::writeData(const char *data, qint64 maxSize)
{
- ::memcpy(writeBuffer.reserve(maxSize), data, maxSize);
+ writeBuffer.append(data, maxSize);
if (!writeBuffer.isEmpty() && !isWriteNotificationEnabled())
setWriteNotificationEnabled(true);
return maxSize;
diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp
index f4f8317..ae32fcf 100644
--- a/src/serialport/qserialport_win.cpp
+++ b/src/serialport/qserialport_win.cpp
@@ -472,10 +472,8 @@ bool QSerialPortPrivate::completeAsyncRead(qint64 bytesTransferred)
readStarted = false;
return false;
}
- if (bytesTransferred > 0) {
- char *ptr = buffer.reserve(bytesTransferred);
- ::memcpy(ptr, readChunkBuffer.constData(), bytesTransferred);
- }
+ if (bytesTransferred > 0)
+ buffer.append(readChunkBuffer.constData(), bytesTransferred);
readStarted = false;
@@ -620,7 +618,7 @@ qint64 QSerialPortPrivate::writeData(const char *data, qint64 maxSize)
{
Q_Q(QSerialPort);
- ::memcpy(writeBuffer.reserve(maxSize), data, maxSize);
+ writeBuffer.append(data, maxSize);
actualBytesToWrite += maxSize;
if (!writeBuffer.isEmpty() && !writeStarted) {