MinGW tweak: Constructs such as:
CharArray somevariable = "somestring"
...are not allowed. It seems like MSVC does not correctly check
accessibility for temporaries. Chapter 12.2 of ISO/IEC 14882:2003(E):
> Even when the creation of the temporary object is avoided (12.8),
> all the semantic restrictions must be respected as if the temporary
> object was created. [Example: even if the copy constructor is not
> called, all the semantic restrictions, such as accessibility
> (clause 11), shall be satisfied. ]
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3344 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/win/vncviewer/CConnOptions.cxx b/win/vncviewer/CConnOptions.cxx
index ea0941e..6069e95 100644
--- a/win/vncviewer/CConnOptions.cxx
+++ b/win/vncviewer/CConnOptions.cxx
@@ -324,7 +324,7 @@
_T("Storing the password is more convenient but poses a security risk."),
MB_YESNO | MB_DEFBUTTON2 | MB_ICONWARNING) == IDYES) {
ObfuscatedPasswd obfPwd(password);
- CharArray obfuscatedHex = rdr::HexOutStream::binToHexStr(obfPwd.buf, obfPwd.length);
+ CharArray obfuscatedHex(rdr::HexOutStream::binToHexStr(obfPwd.buf, obfPwd.length));
fprintf(f, "Password=%s\n", obfuscatedHex.buf);
}
}
diff --git a/win/vncviewer/CConnThread.cxx b/win/vncviewer/CConnThread.cxx
index cfd2695..0767ffc 100644
--- a/win/vncviewer/CConnThread.cxx
+++ b/win/vncviewer/CConnThread.cxx
@@ -95,7 +95,7 @@
try {
if (isConfig) {
// A configuration file name was specified - load it
- CharArray filename = hostOrConfig.takeBuf();
+ CharArray filename(hostOrConfig.takeBuf());
options.readFromFile(filename.buf);
} else {
// An actual hostname (and possibly port) was specified
diff --git a/win/vncviewer/MRU.h b/win/vncviewer/MRU.h
index ae703b3..fd9bf71 100644
--- a/win/vncviewer/MRU.h
+++ b/win/vncviewer/MRU.h
@@ -48,9 +48,9 @@
key.getBinary(_T("Order"), (void**)&order.buf, &length);
for (int i=0; i<length; i++) {
- TCharArray keyname = rdr::HexOutStream::binToHexStr(&order.buf[i], 1);
+ TCharArray keyname(rdr::HexOutStream::binToHexStr(&order.buf[i], 1));
try {
- TCharArray entry = key.getString(keyname.buf);
+ TCharArray entry(key.getString(keyname.buf));
mru.push_back(strDup(entry.buf));
} catch (rdr::Exception) {
}
@@ -79,9 +79,9 @@
keycode = 0;
bool found = false;
for (int i=0; i<orderlen; i++) {
- TCharArray keyname = rdr::HexOutStream::binToHexStr(&order[i], 1);
+ TCharArray keyname(rdr::HexOutStream::binToHexStr(&order[i], 1));
try {
- TCharArray hostname = key.getString(keyname.buf);
+ TCharArray hostname(key.getString(keyname.buf));
if (stricmp(name, CStr(hostname.buf)) == 0) {
keycode = order[i];
found = true;
@@ -119,7 +119,7 @@
order[i] = order[i-1];
order[0] = keycode;
- TCharArray keyname = rdr::HexOutStream::binToHexStr((char*)&keycode, 1);
+ TCharArray keyname(rdr::HexOutStream::binToHexStr((char*)&keycode, 1));
key.setString(keyname.buf, TStr(name));
key.setBinary(_T("Order"), order, orderlen);
}