aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/rfb/CConnection.cxx8
-rw-r--r--common/rfb/CMsgReader.cxx23
-rw-r--r--common/rfb/SMsgReader.cxx7
-rw-r--r--win/rfb_win32/Registry.cxx18
-rw-r--r--win/vncconfig/Connections.h20
5 files changed, 37 insertions, 39 deletions
diff --git a/common/rfb/CConnection.cxx b/common/rfb/CConnection.cxx
index da036821..8e545b2f 100644
--- a/common/rfb/CConnection.cxx
+++ b/common/rfb/CConnection.cxx
@@ -360,12 +360,12 @@ bool CConnection::processSecurityReasonMsg()
return false;
is->clearRestorePoint();
- CharArray reason(len + 1);
- is->readBytes(reason.buf, len);
- reason.buf[len] = '\0';
+ std::vector<char> reason(len + 1);
+ is->readBytes(reason.data(), len);
+ reason[len] = '\0';
state_ = RFBSTATE_INVALID;
- throw AuthFailureException(reason.buf);
+ throw AuthFailureException(reason.data());
}
bool CConnection::processInitMsg()
diff --git a/common/rfb/CMsgReader.cxx b/common/rfb/CMsgReader.cxx
index 42647119..0052d35e 100644
--- a/common/rfb/CMsgReader.cxx
+++ b/common/rfb/CMsgReader.cxx
@@ -33,7 +33,6 @@
#include <rfb/clipboardTypes.h>
#include <rfb/Exception.h>
#include <rfb/LogWriter.h>
-#include <rfb/util.h>
#include <rfb/CMsgHandler.h>
#include <rfb/CMsgReader.h>
@@ -73,10 +72,10 @@ bool CMsgReader::readServerInit()
if (!is->hasDataOrRestore(len))
return false;
is->clearRestorePoint();
- CharArray name(len + 1);
- is->readBytes(name.buf, len);
- name.buf[len] = '\0';
- handler->serverInit(width, height, pf, name.buf);
+ std::vector<char> name(len + 1);
+ is->readBytes(name.data(), len);
+ name[len] = '\0';
+ handler->serverInit(width, height, pf, name.data());
return true;
}
@@ -275,9 +274,9 @@ bool CMsgReader::readServerCutText()
vlog.error("cut text too long (%d bytes) - ignoring",len);
return true;
}
- CharArray ca(len);
- is->readBytes(ca.buf, len);
- std::string filtered(convertLF(ca.buf, len));
+ std::vector<char> ca(len);
+ is->readBytes(ca.data(), len);
+ std::string filtered(convertLF(ca.data(), len));
handler->serverCutText(filtered.c_str());
return true;
@@ -762,14 +761,14 @@ bool CMsgReader::readSetDesktopName(int x, int y, int w, int h)
return false;
is->clearRestorePoint();
- CharArray name(len + 1);
- is->readBytes(name.buf, len);
- name.buf[len] = '\0';
+ std::vector<char> name(len + 1);
+ is->readBytes(name.data(), len);
+ name[len] = '\0';
if (x || y || w || h) {
vlog.error("Ignoring DesktopName rect with non-zero position/size");
} else {
- handler->setName(name.buf);
+ handler->setName(name.data());
}
return true;
diff --git a/common/rfb/SMsgReader.cxx b/common/rfb/SMsgReader.cxx
index 3fddf302..28841704 100644
--- a/common/rfb/SMsgReader.cxx
+++ b/common/rfb/SMsgReader.cxx
@@ -32,7 +32,6 @@
#include <rfb/qemuTypes.h>
#include <rfb/clipboardTypes.h>
#include <rfb/Exception.h>
-#include <rfb/util.h>
#include <rfb/SMsgHandler.h>
#include <rfb/SMsgReader.h>
#include <rfb/Configuration.h>
@@ -314,9 +313,9 @@ bool SMsgReader::readClientCutText()
return true;
}
- CharArray ca(len);
- is->readBytes(ca.buf, len);
- std::string filtered(convertLF(ca.buf, len));
+ std::vector<char> ca(len);
+ is->readBytes(ca.data(), len);
+ std::string filtered(convertLF(ca.data(), len));
handler->clientCutText(filtered.c_str());
return true;
diff --git a/win/rfb_win32/Registry.cxx b/win/rfb_win32/Registry.cxx
index aa497a29..b1e8b07d 100644
--- a/win/rfb_win32/Registry.cxx
+++ b/win/rfb_win32/Registry.cxx
@@ -214,40 +214,40 @@ std::string RegKey::getRepresentation(const char* valname) const {
LONG result = RegQueryValueEx(key, valname, 0, &type, 0, &length);
if (result != ERROR_SUCCESS)
throw rdr::SystemException("get registry value length", result);
- CharArray data(length);
- result = RegQueryValueEx(key, valname, 0, &type, (BYTE*)data.buf, &length);
+ std::vector<uint8_t> data(length);
+ result = RegQueryValueEx(key, valname, 0, &type, (BYTE*)data.data(), &length);
if (result != ERROR_SUCCESS)
throw rdr::SystemException("get registry value", result);
switch (type) {
case REG_BINARY:
{
- return binToHex((const uint8_t*)data.buf, length);
+ return binToHex(data.data(), length);
}
case REG_SZ:
if (length) {
- return std::string(data.buf, length);
+ return std::string((char*)data.data(), length);
} else {
return "";
}
case REG_DWORD:
{
char tmp[16];
- sprintf(tmp, "%lu", *((DWORD*)data.buf));
+ sprintf(tmp, "%lu", *((DWORD*)data.data()));
return tmp;
}
case REG_EXPAND_SZ:
{
if (length) {
- std::string str(data.buf, length);
+ std::string str((char*)data.data(), length);
DWORD required = ExpandEnvironmentStrings(str.c_str(), 0, 0);
if (required==0)
throw rdr::SystemException("ExpandEnvironmentStrings", GetLastError());
- CharArray result(required);
- length = ExpandEnvironmentStrings(str.c_str(), result.buf, required);
+ std::vector<char> result(required);
+ length = ExpandEnvironmentStrings(str.c_str(), result.data(), required);
if (required<length)
throw rdr::Exception("unable to expand environment strings");
- return result.buf;
+ return result.data();
} else {
return "";
}
diff --git a/win/vncconfig/Connections.h b/win/vncconfig/Connections.h
index 492525f3..1f974454 100644
--- a/win/vncconfig/Connections.h
+++ b/win/vncconfig/Connections.h
@@ -167,13 +167,13 @@ namespace rfb {
{
HWND listBox = GetDlgItem(handle, IDC_HOSTS);
int item = SendMessage(listBox, LB_GETCURSEL, 0, 0);
- CharArray pattern(SendMessage(listBox, LB_GETTEXTLEN, item, 0)+1);
- SendMessage(listBox, LB_GETTEXT, item, (LPARAM)pattern.buf);
+ std::vector<char> pattern(SendMessage(listBox, LB_GETTEXTLEN, item, 0)+1);
+ SendMessage(listBox, LB_GETTEXT, item, (LPARAM)pattern.data());
- if (hostDialog.showDialog(pattern.buf)) {
+ if (hostDialog.showDialog(pattern.data())) {
const char* newPat = hostDialog.getPattern();
if (newPat) {
- item = SendMessage(listBox, LB_FINDSTRINGEXACT, item, (LPARAM)pattern.buf);
+ item = SendMessage(listBox, LB_FINDSTRINGEXACT, item, (LPARAM)pattern.data());
if (item != LB_ERR) {
SendMessage(listBox, LB_DELETESTRING, item, 0);
SendMessage(listBox, LB_INSERTSTRING, item, (LPARAM)newPat);
@@ -189,10 +189,10 @@ namespace rfb {
{
HWND listBox = GetDlgItem(handle, IDC_HOSTS);
int item = SendMessage(listBox, LB_GETCURSEL, 0, 0);
- CharArray pattern(SendMessage(listBox, LB_GETTEXTLEN, item, 0)+1);
- SendMessage(listBox, LB_GETTEXT, item, (LPARAM)pattern.buf);
+ std::vector<char> pattern(SendMessage(listBox, LB_GETTEXTLEN, item, 0)+1);
+ SendMessage(listBox, LB_GETTEXT, item, (LPARAM)pattern.data());
SendMessage(listBox, LB_DELETESTRING, item, 0);
- SendMessage(listBox, LB_INSERTSTRING, item-1, (LPARAM)pattern.buf);
+ SendMessage(listBox, LB_INSERTSTRING, item-1, (LPARAM)pattern.data());
SendMessage(listBox, LB_SETCURSEL, item-1, 0);
onCommand(IDC_HOSTS, EN_CHANGE);
}
@@ -202,10 +202,10 @@ namespace rfb {
{
HWND listBox = GetDlgItem(handle, IDC_HOSTS);
int item = SendMessage(listBox, LB_GETCURSEL, 0, 0);
- CharArray pattern(SendMessage(listBox, LB_GETTEXTLEN, item, 0)+1);
- SendMessage(listBox, LB_GETTEXT, item, (LPARAM)pattern.buf);
+ std::vector<char> pattern(SendMessage(listBox, LB_GETTEXTLEN, item, 0)+1);
+ SendMessage(listBox, LB_GETTEXT, item, (LPARAM)pattern.data());
SendMessage(listBox, LB_DELETESTRING, item, 0);
- SendMessage(listBox, LB_INSERTSTRING, item+1, (LPARAM)pattern.buf);
+ SendMessage(listBox, LB_INSERTSTRING, item+1, (LPARAM)pattern.data());
SendMessage(listBox, LB_SETCURSEL, item+1, 0);
onCommand(IDC_HOSTS, EN_CHANGE);
}