]> source.dussan.org Git - tigervnc.git/commitdiff
Use what() to access exception description
authorPierre Ossman <ossman@cendio.se>
Mon, 2 Sep 2024 15:03:10 +0000 (17:03 +0200)
committerPierre Ossman <ossman@cendio.se>
Wed, 6 Nov 2024 20:06:27 +0000 (21:06 +0100)
Harmonize with the standard C++ exceptions.

34 files changed:
common/rdr/Exception.h
common/rdr/TLSInStream.cxx
common/rdr/TLSOutStream.cxx
common/rfb/CConnection.cxx
common/rfb/DecodeManager.cxx
common/rfb/SConnection.cxx
common/rfb/VNCSConnectionST.cxx
tests/perf/decperf.cxx
tests/perf/encperf.cxx
unix/vncconfig/vncconfig.cxx
unix/x0vncserver/XDesktop.cxx
unix/x0vncserver/x0vncserver.cxx
unix/xserver/hw/vnc/XserverDesktop.cc
unix/xserver/hw/vnc/vncExtInit.cc
vncviewer/CConn.cxx
vncviewer/ServerDialog.cxx
vncviewer/Viewport.cxx
vncviewer/parameters.cxx
vncviewer/touch.cxx
vncviewer/vncviewer.cxx
win/rfb_win32/CleanDesktop.cxx
win/rfb_win32/Clipboard.cxx
win/rfb_win32/DeviceFrameBuffer.cxx
win/rfb_win32/MsgWindow.cxx
win/rfb_win32/RegConfig.cxx
win/rfb_win32/SDisplay.cxx
win/rfb_win32/SocketManager.cxx
win/vncconfig/Connections.h
win/vncconfig/Legacy.cxx
win/vncconfig/vncconfig.cxx
win/winvnc/ManagedListener.cxx
win/winvnc/STrayIcon.cxx
win/winvnc/VNCServerWin32.cxx
win/winvnc/winvnc.cxx

index c6be8fcc797339f85f11e08636b5811a67787c95..bdb2061ccdec6f89206c659c1c488d4b8cb56a71 100644 (file)
@@ -29,7 +29,7 @@ namespace rdr {
     Exception(const char* message);
     Exception(const std::string& message);
     virtual ~Exception() {}
-    virtual const char* str() const { return str_; }
+    virtual const char* what() const { return str_; }
   private:
     char str_[256];
   };
index f8f4fcf98a065c9f6249bc5f7fb2e4f8156cc0e8..c025212239745c732623199caf1ac1354695caad 100644 (file)
@@ -57,12 +57,12 @@ ssize_t TLSInStream::pull(gnutls_transport_ptr_t str, void* data, size_t size)
   } catch (EndOfStream&) {
     return 0;
   } catch (SocketException& e) {
-    vlog.error("Failure reading TLS data: %s", e.str());
+    vlog.error("Failure reading TLS data: %s", e.what());
     gnutls_transport_set_errno(self->session, e.err);
     self->saved_exception = new SocketException(e);
     return -1;
   } catch (Exception& e) {
-    vlog.error("Failure reading TLS data: %s", e.str());
+    vlog.error("Failure reading TLS data: %s", e.what());
     gnutls_transport_set_errno(self->session, EINVAL);
     self->saved_exception = new Exception(e);
     return -1;
index ccb229e16dbd1c14334614d1ce82c26918b42d7b..69d0fe3ac26909fb1eaf1d5d821194ec89220182 100644 (file)
@@ -47,12 +47,12 @@ ssize_t TLSOutStream::push(gnutls_transport_ptr_t str, const void* data,
     out->writeBytes((const uint8_t*)data, size);
     out->flush();
   } catch (SocketException& e) {
-    vlog.error("Failure sending TLS data: %s", e.str());
+    vlog.error("Failure sending TLS data: %s", e.what());
     gnutls_transport_set_errno(self->session, e.err);
     self->saved_exception = new SocketException(e);
     return -1;
   } catch (Exception& e) {
-    vlog.error("Failure sending TLS data: %s", e.str());
+    vlog.error("Failure sending TLS data: %s", e.what());
     gnutls_transport_set_errno(self->session, EINVAL);
     self->saved_exception = new Exception(e);
     return -1;
index 61ef7d98eba5ae0a76f4226c5ea5212e0a438e5c..7a9570ad62501ceaa48be0c24f535008ed76d5c7 100644 (file)
@@ -388,7 +388,7 @@ void CConnection::close()
   try {
     decoder.flush();
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
   }
 
   setFramebuffer(nullptr);
index 269e818d08ad596da8029f8c113bda57d89d2688..77beb62061a1116762ce024e795114d4c8f9a775 100644 (file)
@@ -149,7 +149,7 @@ bool DecodeManager::decodeRect(const Rect& r, int encoding,
     if (!decoder->readRect(r, conn->getInStream(), conn->server, bufferStream))
       return false;
   } catch (rdr::Exception& e) {
-    throw Exception(format("Error reading rect: %s", e.str()));
+    throw Exception(format("Error reading rect: %s", e.what()));
   }
 
   stats[encoding].rects++;
@@ -250,7 +250,7 @@ void DecodeManager::setThreadException(const rdr::Exception& e)
   if (threadException != nullptr)
     return;
 
-  threadException = new rdr::Exception(format("Exception on worker thread: %s", e.str()));
+  threadException = new rdr::Exception(format("Exception on worker thread: %s", e.what()));
 }
 
 void DecodeManager::throwThreadException()
index 04cf60b93720865d6106b16a025f7f9833b98935..d96ad1781df5d3464e2b543de7c04f065cd3dd8a 100644 (file)
@@ -224,7 +224,7 @@ void SConnection::processSecurityType(int secType)
     state_ = RFBSTATE_SECURITY;
     ssecurity = security.GetSSecurity(this, secType);
   } catch (rdr::Exception& e) {
-    failConnection(e.str());
+    failConnection(e.what());
   }
 }
 
@@ -235,11 +235,11 @@ bool SConnection::processSecurityMsg()
     if (!ssecurity->processMsg())
       return false;
   } catch (AuthFailureException& e) {
-    vlog.error("AuthFailureException: %s", e.str());
+    vlog.error("AuthFailureException: %s", e.what());
     state_ = RFBSTATE_SECURITY_FAILURE;
     // Introduce a slight delay of the authentication failure response
     // to make it difficult to brute force a password
-    authFailureMsg = e.str();
+    authFailureMsg = e.what();
     authFailureTimer.start(100);
     return true;
   }
@@ -294,7 +294,7 @@ void SConnection::handleAuthFailureTimeout(Timer* /*t*/)
     }
     os->flush();
   } catch (rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
     return;
   }
 
index 7dc2a0b8c233eba26bf5e6fa5858562768ab0a4c..e0fb69dc7b697568b6e5b37bd9e0a2e9f9984cc2 100644 (file)
@@ -130,7 +130,7 @@ void VNCSConnectionST::close(const char* reason)
         vlog.error("Failed to flush remaining socket data on close");
     }
   } catch (rdr::Exception& e) {
-    vlog.error("Failed to flush remaining socket data on close: %s", e.str());
+    vlog.error("Failed to flush remaining socket data on close: %s", e.what());
   }
 
   // Just shutdown the socket and mark our state as closing.  Eventually the
@@ -147,7 +147,7 @@ bool VNCSConnectionST::init()
   try {
     initialiseProtocol();
   } catch (rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
     return false;
   }
   return true;
@@ -190,7 +190,7 @@ void VNCSConnectionST::processMessages()
   } catch (rdr::EndOfStream&) {
     close("Clean disconnection");
   } catch (rdr::Exception &e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -204,7 +204,7 @@ void VNCSConnectionST::flushSocket()
     if (!sock->outStream().hasBufferedData())
       writeFramebufferUpdate();
   } catch (rdr::Exception &e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -253,7 +253,7 @@ void VNCSConnectionST::pixelBufferChange()
     updates.add_changed(server->getPixelBuffer()->getRect());
     writeFramebufferUpdate();
   } catch(rdr::Exception &e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -262,7 +262,7 @@ void VNCSConnectionST::writeFramebufferUpdateOrClose()
   try {
     writeFramebufferUpdate();
   } catch(rdr::Exception &e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -272,7 +272,7 @@ void VNCSConnectionST::screenLayoutChangeOrClose(uint16_t reason)
     screenLayoutChange(reason);
     writeFramebufferUpdate();
   } catch(rdr::Exception &e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -281,7 +281,7 @@ void VNCSConnectionST::bellOrClose()
   try {
     if (state() == RFBSTATE_NORMAL) writer()->writeBell();
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -291,7 +291,7 @@ void VNCSConnectionST::setDesktopNameOrClose(const char *name)
     setDesktopName(name);
     writeFramebufferUpdate();
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -301,7 +301,7 @@ void VNCSConnectionST::setCursorOrClose()
     setCursor();
     writeFramebufferUpdate();
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -311,7 +311,7 @@ void VNCSConnectionST::setLEDStateOrClose(unsigned int state)
     setLEDState(state);
     writeFramebufferUpdate();
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -323,7 +323,7 @@ void VNCSConnectionST::requestClipboardOrClose()
     if (!rfb::Server::acceptCutText) return;
     requestClipboard();
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -335,7 +335,7 @@ void VNCSConnectionST::announceClipboardOrClose(bool available)
     if (!rfb::Server::sendCutText) return;
     announceClipboard(available);
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -347,7 +347,7 @@ void VNCSConnectionST::sendClipboardDataOrClose(const char* data)
     if (!rfb::Server::sendCutText) return;
     sendClipboardData(data);
   } catch(rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -419,7 +419,7 @@ void VNCSConnectionST::approveConnectionOrClose(bool accept,
   try {
     approveConnection(accept, reason);
   } catch (rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 }
 
@@ -806,7 +806,7 @@ void VNCSConnectionST::handleTimeout(Timer* t)
         (t == &losslessTimer))
       writeFramebufferUpdate();
   } catch (rdr::Exception& e) {
-    close(e.str());
+    close(e.what());
   }
 
   if (t == &idleTimer)
index fb2390be2c36f54ff8bbbcd67ad693196e1e383b..cc8b39d08a57bb2152169531fd7f1580b15d5311 100644 (file)
@@ -203,7 +203,7 @@ static struct stats runTest(const char *fn)
   try {
     cc = new CConn(fn);
   } catch (rdr::Exception& e) {
-    fprintf(stderr, "Failed to open rfb file: %s\n", e.str());
+    fprintf(stderr, "Failed to open rfb file: %s\n", e.what());
     exit(1);
   }
 
@@ -212,7 +212,7 @@ static struct stats runTest(const char *fn)
       cc->processMsg();
   } catch (rdr::EndOfStream& e) {
   } catch (rdr::Exception& e) {
-    fprintf(stderr, "Failed to run rfb file: %s\n", e.str());
+    fprintf(stderr, "Failed to run rfb file: %s\n", e.what());
     exit(1);
   }
 
index c6e2d3b7a113ab11b90951cc52dd9927b3638f56..610fc4ecb11c89d7ba75eec4af089e0b5cd7dd3a 100644 (file)
@@ -373,7 +373,7 @@ static struct stats runTest(const char *fn)
   try {
     cc = new CConn(fn);
   } catch (rdr::Exception& e) {
-    fprintf(stderr, "Failed to open rfb file: %s\n", e.str());
+    fprintf(stderr, "Failed to open rfb file: %s\n", e.what());
     exit(1);
   }
 
@@ -382,7 +382,7 @@ static struct stats runTest(const char *fn)
       cc->processMsg();
   } catch (rdr::EndOfStream& e) {
   } catch (rdr::Exception& e) {
-    fprintf(stderr, "Failed to run rfb file: %s\n", e.str());
+    fprintf(stderr, "Failed to run rfb file: %s\n", e.what());
     exit(1);
   }
 
index 1498bbdb58f747e7436345a01e4bdcf26676cd10..94d81cc788298d4d27b44f4b3021815b37517653 100644 (file)
@@ -336,7 +336,7 @@ int main(int argc, char** argv)
     XCloseDisplay(dpy);
 
   } catch (rdr::Exception &e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
   }
 
   return 0;
index 1dc76718140467d665c2cbc690698fe519f18aad..a083e01e641c6b950fd65bbfde48e23b3d7e050d 100644 (file)
@@ -1050,7 +1050,7 @@ bool XDesktop::setCursor()
     server->setCursor(cim->width, cim->height, Point(cim->xhot, cim->yhot),
                       cursorData);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::setCursor: %s",e.str());
+    vlog.error("XserverDesktop::setCursor: %s",e.what());
   }
 
   delete [] cursorData;
index fce32c74471c1990c4b34182b38e29b3f41285a7..cc668628daa7325212dbd538e3cefc6eb71f55eb 100644 (file)
@@ -476,7 +476,7 @@ int main(int argc, char** argv)
     }
 
   } catch (rdr::Exception &e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     return 1;
   }
 
index e3bc57d870b4c82da616e7f194e6a8772fcce76f..7ad65d064b7596225a0f259cbfffebeaf5e6502d 100644 (file)
@@ -196,7 +196,7 @@ void XserverDesktop::requestClipboard()
   try {
     server->requestClipboard();
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::requestClipboard: %s",e.str());
+    vlog.error("XserverDesktop::requestClipboard: %s",e.what());
   }
 }
 
@@ -205,7 +205,7 @@ void XserverDesktop::announceClipboard(bool available)
   try {
     server->announceClipboard(available);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::announceClipboard: %s",e.str());
+    vlog.error("XserverDesktop::announceClipboard: %s",e.what());
   }
 }
 
@@ -214,7 +214,7 @@ void XserverDesktop::sendClipboardData(const char* data_)
   try {
     server->sendClipboardData(data_);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::sendClipboardData: %s",e.str());
+    vlog.error("XserverDesktop::sendClipboardData: %s",e.what());
   }
 }
 
@@ -233,7 +233,7 @@ void XserverDesktop::setDesktopName(const char* name)
   try {
     server->setName(name);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::setDesktopName: %s",e.str());
+    vlog.error("XserverDesktop::setDesktopName: %s",e.what());
   }
 }
 
@@ -268,7 +268,7 @@ void XserverDesktop::setCursor(int width, int height, int hotX, int hotY,
   try {
     server->setCursor(width, height, Point(hotX, hotY), cursorData);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::setCursor: %s",e.str());
+    vlog.error("XserverDesktop::setCursor: %s",e.what());
   }
 
   delete [] cursorData;
@@ -279,7 +279,7 @@ void XserverDesktop::setCursorPos(int x, int y, bool warped)
   try {
     server->setCursorPos(Point(x, y), warped);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::setCursorPos: %s",e.str());
+    vlog.error("XserverDesktop::setCursorPos: %s",e.what());
   }
 }
 
@@ -288,7 +288,7 @@ void XserverDesktop::add_changed(const rfb::Region &region)
   try {
     server->add_changed(region);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::add_changed: %s",e.str());
+    vlog.error("XserverDesktop::add_changed: %s",e.what());
   }
 }
 
@@ -297,7 +297,7 @@ void XserverDesktop::add_copied(const rfb::Region &dest, const rfb::Point &delta
   try {
     server->add_copied(dest, delta);
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::add_copied: %s",e.str());
+    vlog.error("XserverDesktop::add_copied: %s",e.what());
   }
 }
 
@@ -314,7 +314,7 @@ void XserverDesktop::handleSocketEvent(int fd, bool read, bool write)
 
     vlog.error("Cannot find file descriptor for socket event");
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::handleSocketEvent: %s",e.str());
+    vlog.error("XserverDesktop::handleSocketEvent: %s",e.what());
   }
 }
 
@@ -407,7 +407,7 @@ void XserverDesktop::blockHandler(int* timeout)
     if (nextTimeout >= 0 && (*timeout == -1 || nextTimeout < *timeout))
       *timeout = nextTimeout;
   } catch (rdr::Exception& e) {
-    vlog.error("XserverDesktop::blockHandler: %s",e.str());
+    vlog.error("XserverDesktop::blockHandler: %s", e.what());
   }
 }
 
index 073b07e2967a630d38fb293a82b0ce65b51fb970..b39366a8e5fe254786ea933ef2457317872da9a7 100644 (file)
@@ -275,7 +275,7 @@ void vncExtensionInit(void)
       vncHooksInit(scr);
     }
   } catch (rdr::Exception& e) {
-    vncFatalError("vncExtInit: %s\n",e.str());
+    vncFatalError("vncExtInit: %s\n",e.what());
   }
 
   vncRegisterBlockHandlers();
@@ -289,7 +289,7 @@ void vncExtensionClose(void)
       desktop[scr] = nullptr;
     }
   } catch (rdr::Exception& e) {
-    vncFatalError("vncExtInit: %s\n",e.str());
+    vncFatalError("vncExtInit: %s\n",e.what());
   }
 }
 
@@ -349,7 +349,7 @@ int vncConnectClient(const char *addr, int viewOnly)
     try {
       desktop[0]->disconnectClients();
     } catch (rdr::Exception& e) {
-      vlog.error("Disconnecting all clients: %s",e.str());
+      vlog.error("Disconnecting all clients: %s", e.what());
       return -1;
     }
     return 0;
@@ -366,7 +366,7 @@ int vncConnectClient(const char *addr, int viewOnly)
               viewOnly ? " (view only)" : "");
     desktop[0]->addClient(sock, true, (bool)viewOnly);
   } catch (rdr::Exception& e) {
-    vlog.error("Reverse connection: %s",e.str());
+    vlog.error("Reverse connection: %s", e.what());
     return -1;
   }
 
@@ -463,7 +463,7 @@ void vncPostScreenResize(int scrIdx, int success, int width, int height)
                                       vncFbptr[scrIdx],
                                       vncFbstride[scrIdx]);
     } catch (rdr::Exception& e) {
-      vncFatalError("vncPostScreenResize: %s\n", e.str());
+      vncFatalError("vncPostScreenResize: %s\n", e.what());
     }
   }
 
@@ -480,7 +480,7 @@ void vncRefreshScreenLayout(int scrIdx)
   try {
     desktop[scrIdx]->refreshScreenLayout();
   } catch (rdr::Exception& e) {
-    vncFatalError("vncRefreshScreenLayout: %s\n", e.str());
+    vncFatalError("vncRefreshScreenLayout: %s\n", e.what());
   }
 }
 
@@ -489,7 +489,7 @@ uint64_t vncGetMsc(int scrIdx)
   try {
     return desktop[scrIdx]->getMsc();
   } catch (rdr::Exception& e) {
-    vncFatalError("vncGetMsc: %s\n", e.str());
+    vncFatalError("vncGetMsc: %s\n", e.what());
   }
 }
 
@@ -498,7 +498,7 @@ void vncQueueMsc(int scrIdx, uint64_t id, uint64_t msc)
   try {
     desktop[scrIdx]->queueMsc(id, msc);
   } catch (rdr::Exception& e) {
-    vncFatalError("vncQueueMsc: %s\n", e.str());
+    vncFatalError("vncQueueMsc: %s\n", e.what());
   }
 }
 
@@ -507,7 +507,7 @@ void vncAbortMsc(int scrIdx, uint64_t id)
   try {
     desktop[scrIdx]->abortMsc(id);
   } catch (rdr::Exception& e) {
-    vncFatalError("vncAbortMsc: %s\n", e.str());
+    vncFatalError("vncAbortMsc: %s\n", e.what());
   }
 }
 
index 81bea534c1f7a489d54bbe16c40f5d988474a626..57904b642f294c6fe17d389b1cd6649227bffb16 100644 (file)
@@ -108,9 +108,9 @@ CConn::CConn(const char* vncServerName, network::Socket* socket=nullptr)
                   serverHost.c_str(), serverPort);
       }
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
       abort_connection(_("Failed to connect to \"%s\":\n\n%s"),
-                       vncServerName, e.str());
+                       vncServerName, e.what());
       return;
     }
   }
@@ -262,7 +262,7 @@ void CConn::socketEvent(FL_SOCKET fd, void *data)
 
     cc->getOutStream()->cork(false);
   } catch (rdr::EndOfStream& e) {
-    vlog.info("%s", e.str());
+    vlog.info("%s", e.what());
     if (!cc->desktop) {
       vlog.error(_("The connection was dropped by the server before "
                    "the session could be established."));
@@ -272,15 +272,15 @@ void CConn::socketEvent(FL_SOCKET fd, void *data)
       disconnect();
     }
   } catch (rfb::AuthCancelledException& e) {
-    vlog.info("%s", e.str());
+    vlog.info("%s", e.what());
     disconnect();
   } catch (rfb::AuthFailureException& e) {
     cc->resetPassword();
-    vlog.error(_("Authentication failed: %s"), e.str());
+    vlog.error(_("Authentication failed: %s"), e.what());
     abort_connection(_("Failed to authenticate with the server. Reason "
-                       "given by the server:\n\n%s"), e.str());
+                       "given by the server:\n\n%s"), e.what());
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     abort_connection_with_unexpected_error(e);
   }
 
index 7b334bcaca62c53a052ecc510e5fb1b12292edea..a1f4d23c12bd6cc027511ef9e6cda492028a97bf 100644 (file)
@@ -141,9 +141,9 @@ void ServerDialog::run(const char* servername, char *newservername)
       fltk_menu_add(dialog.serverName->menubutton(),
                     entry.c_str(), 0, nullptr);
   } catch (Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     fl_alert(_("Unable to load the server history:\n\n%s"),
-             e.str());
+             e.what());
   }
 
   while (dialog.shown()) Fl::wait();
@@ -193,9 +193,9 @@ void ServerDialog::handleLoad(Fl_Widget* /*widget*/, void* data)
   try {
     dialog->serverName->value(loadViewerParameters(filename));
   } catch (Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     fl_alert(_("Unable to load the specified configuration file:\n\n%s"),
-             e.str());
+             e.what());
   }
 
   delete(file_chooser);
@@ -254,9 +254,9 @@ void ServerDialog::handleSaveAs(Fl_Widget* /*widget*/, void* data)
   try {
     saveViewerParameters(filename, servername);
   } catch (Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     fl_alert(_("Unable to save the specified configuration "
-               "file:\n\n%s"), e.str());
+               "file:\n\n%s"), e.what());
   }
   
   delete(file_chooser);
@@ -288,9 +288,9 @@ void ServerDialog::handleConnect(Fl_Widget* /*widget*/, void *data)
   try {
     saveViewerParameters(nullptr, servername);
   } catch (Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     fl_alert(_("Unable to save the default configuration:\n\n%s"),
-             e.str());
+             e.what());
   }
 
   // avoid duplicates in the history
@@ -300,9 +300,9 @@ void ServerDialog::handleConnect(Fl_Widget* /*widget*/, void *data)
   try {
     dialog->saveServerHistory();
   } catch (Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     fl_alert(_("Unable to save the server history:\n\n%s"),
-             e.str());
+             e.what());
   }
 }
 
index e29c877cf59c7f8a5a970b78e978c82ebfbe33d8..5163535d812f46b4bf54fbbe47b355b08a59769e 100644 (file)
@@ -576,7 +576,7 @@ int Viewport::handle(int event)
     try {
       cc->sendClipboardData(filtered.c_str());
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
       abort_connection_with_unexpected_error(e);
     }
 
@@ -669,7 +669,7 @@ void Viewport::sendPointerEvent(const rfb::Point& pos, uint8_t buttonMask)
     try {
       cc->writer()->writePointerEvent(pos, buttonMask);
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
       abort_connection_with_unexpected_error(e);
     }
   } else {
@@ -776,7 +776,7 @@ void Viewport::handleClipboardChange(int source, void *data)
   try {
     self->cc->announceClipboard(true);
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     abort_connection_with_unexpected_error(e);
   }
 }
@@ -789,7 +789,7 @@ void Viewport::flushPendingClipboard()
     try {
       cc->announceClipboard(true);
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
       abort_connection_with_unexpected_error(e);
     }
   }
@@ -814,7 +814,7 @@ void Viewport::handlePointerTimeout(void *data)
     self->cc->writer()->writePointerEvent(self->lastPointerPos,
                                           self->lastButtonMask);
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     abort_connection_with_unexpected_error(e);
   }
 }
@@ -886,7 +886,7 @@ void Viewport::handleKeyPress(int keyCode, uint32_t keySym)
     else
       cc->writer()->writeKeyEvent(keySym, keyCode, true);
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     abort_connection_with_unexpected_error(e);
   }
 }
@@ -916,7 +916,7 @@ void Viewport::handleKeyRelease(int keyCode)
     else
       cc->writer()->writeKeyEvent(iter->second, keyCode, false);
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     abort_connection_with_unexpected_error(e);
   }
 
index 2beae9304d6d14c70ec2b30b744c4bc5bed3ad33..1eac8f9d66842ca82df779e2eb249cb5a9263a87 100644 (file)
@@ -466,7 +466,7 @@ static void saveToReg(const char* servername) {
   } catch (Exception& e) {
     RegCloseKey(hKey);
     throw Exception(format(_("Failed to save \"%s\": %s"),
-                           "ServerName", e.str()));
+                           "ServerName", e.what()));
   }
 
   for (size_t i = 0; i < sizeof(parameterArray)/sizeof(VoidParameter*); i++) {
@@ -483,7 +483,7 @@ static void saveToReg(const char* servername) {
     } catch (Exception& e) {
       RegCloseKey(hKey);
       throw Exception(format(_("Failed to save \"%s\": %s"),
-                             parameterArray[i]->getName(), e.str()));
+                             parameterArray[i]->getName(), e.what()));
     }
   }
 
@@ -497,7 +497,7 @@ static void saveToReg(const char* servername) {
       RegCloseKey(hKey);
       throw Exception(format(_("Failed to remove \"%s\": %s"),
                              readOnlyParameterArray[i]->getName(),
-                             e.str()));
+                             e.what()));
     }
   }
 
@@ -537,7 +537,7 @@ list<string> loadHistoryFromRegKey() {
     } catch (Exception& e) {
       // Just ignore this entry and try the next one
       vlog.error(_("Failed to read server history entry %d: %s"),
-                 (int)index, e.str());
+                 (int)index, e.what());
       continue;
     }
 
@@ -575,7 +575,7 @@ static void getParametersFromReg(VoidParameter* parameters[],
     } catch(Exception& e) {
       // Just ignore this entry and continue with the rest
       vlog.error(_("Failed to read parameter \"%s\": %s"),
-                 parameters[i]->getName(), e.str());
+                 parameters[i]->getName(), e.what());
     }
   }
 }
@@ -605,7 +605,7 @@ static char* loadFromReg() {
       snprintf(servername, buffersize, "%s", servernameBuffer);
   } catch(Exception& e) {
     vlog.error(_("Failed to read parameter \"%s\": %s"),
-               "ServerName", e.str());
+               "ServerName", e.what());
     strcpy(servername, "");
   }
 
@@ -838,7 +838,7 @@ char* loadViewerParameters(const char *filename) {
     } catch(Exception& e) {
       // Just ignore this entry and continue with the rest
       vlog.error(_("Failed to read line %d in file %s: %s"),
-                 lineNr, filepath, e.str());
+                 lineNr, filepath, e.what());
       continue;
     }
 
index 1efd3e460dc2997bf3eb4e8c4566347073145028..0b2e4bc6c9795da2159fdf625800942d18e3fa75 100644 (file)
@@ -181,8 +181,8 @@ static int handleTouchEvent(void *event, void* /*data*/)
     try {
       handlers[msg->hwnd] = new Win32TouchHandler(msg->hwnd);
     } catch (rfb::Exception& e) {
-      vlog.error(_("Failed to create touch handler: %s"), e.str());
-      abort_vncviewer(_("Failed to create touch handler: %s"), e.str());
+      vlog.error(_("Failed to create touch handler: %s"), e.what());
+      abort_vncviewer(_("Failed to create touch handler: %s"), e.what());
     }
     // Add a special hook-in for handling events sent directly to WndProc
     if (!SetWindowSubclass(msg->hwnd, &win32WindowProc, 1, 0)) {
index a1d9b39d627ebc39998302a4db4e822c56fe8d62..6a063382055955c52c6c15445e8804a6beb870aa 100644 (file)
@@ -157,7 +157,7 @@ void abort_connection(const char *error, ...)
 
 void abort_connection_with_unexpected_error(const rdr::Exception &e) {
   abort_connection(_("An unexpected error occurred when communicating "
-                     "with the server:\n\n%s"), e.str());
+                     "with the server:\n\n%s"), e.what());
 }
 
 void disconnect()
@@ -514,9 +514,9 @@ potentiallyLoadConfigurationFile(const char *filename)
       strncpy(vncServerName, newServerName, VNCSERVERNAMELEN-1);
       vncServerName[VNCSERVERNAMELEN-1] = '\0';
     } catch (rfb::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
       abort_vncviewer(_("Unable to load the specified configuration "
-                        "file:\n\n%s"), e.str());
+                        "file:\n\n%s"), e.what());
     }
   }
 }
@@ -672,7 +672,7 @@ int main(int argc, char** argv)
       defaultServerName[VNCSERVERNAMELEN-1] = '\0';
     }
   } catch (rfb::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
   }
 
   for (int i = 1; i < argc;) {
@@ -787,8 +787,8 @@ int main(int argc, char** argv)
           }
       }
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
-      abort_vncviewer(_("Failure waiting for incoming VNC connection:\n\n%s"), e.str());
+      vlog.error("%s", e.what());
+      abort_vncviewer(_("Failure waiting for incoming VNC connection:\n\n%s"), e.what());
       return 1; /* Not reached */
     }
 
@@ -808,8 +808,8 @@ int main(int argc, char** argv)
       try {
         mktunnel();
       } catch (rdr::Exception& e) {
-        vlog.error("%s", e.str());
-        abort_vncviewer(_("Failure setting up encrypted tunnel:\n\n%s"), e.str());
+        vlog.error("%s", e.what());
+        abort_vncviewer(_("Failure setting up encrypted tunnel:\n\n%s"), e.what());
       }
     }
 #endif
index 6d933b223284f88c78de6fd9f9ec7d422e6990b3..8e0b70bc692680820b93de21d4956aca5cf63ad9 100644 (file)
@@ -174,7 +174,7 @@ void CleanDesktop::disableWallpaper() {
       if (ad.enable(false))
         restoreActiveDesktop = true;
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
     }
 
     // -=- Switch of normal wallpaper and notify apps
@@ -182,7 +182,7 @@ void CleanDesktop::disableWallpaper() {
     restoreWallpaper = true;
 
   } catch (rdr::Exception& e) {
-    vlog.info("%s", e.str());
+    vlog.info("%s", e.what());
   }
 }
 
@@ -199,7 +199,7 @@ void CleanDesktop::enableWallpaper() {
         ad.enable(true);
         restoreActiveDesktop = false;
       } catch (rdr::Exception& e) {
-        vlog.error("%s", e.str());
+        vlog.error("%s", e.what());
       }
     }
 
@@ -212,7 +212,7 @@ void CleanDesktop::enableWallpaper() {
     }
 
   } catch (rdr::Exception& e) {
-    vlog.info("%s", e.str());
+    vlog.info("%s", e.what());
   }
 }
 
@@ -244,7 +244,7 @@ void CleanDesktop::disableEffects() {
     restoreEffects = true;
 
   } catch (rdr::Exception& e) {
-    vlog.info("%s", e.str());
+    vlog.info("%s", e.what());
   }
 }
 
@@ -269,6 +269,6 @@ void CleanDesktop::enableEffects() {
     }
 
   } catch (rdr::Exception& e) {
-    vlog.info("%s", e.str());
+    vlog.info("%s", e.what());
   }
 }
index 242ebf343ffe39f279ebc307a7c4478bd5704e1c..5a3e3aba9fc82ce2f6a07b550d1cc5d26b7a83e9 100644 (file)
@@ -151,7 +151,7 @@ Clipboard::setClipText(const char* text) {
 
     vlog.debug("set clipboard");
   } catch (rdr::Exception& e) {
-    vlog.debug("%s", e.str());
+    vlog.debug("%s", e.what());
   }
 
   // - Close the clipboard
index ca2f57d4943272508896fe37355f20bdd2b8818e..2cf8adae1f86c849dba99486efdd3a3e98640ac5 100644 (file)
@@ -309,6 +309,6 @@ void DeviceFrameBuffer::setCursor(HCURSOR hCursor, VNCServer* server)
     server->setCursor(width, height, hotspot, buffer.data());
 
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
   }
 }
index e94b60a8729ef020b1e67bc284e7cca2332005c7..25d8ee2cc4e389b9a113f564ee1277e78dadc230 100644 (file)
@@ -62,7 +62,7 @@ LRESULT CALLBACK MsgWindowProc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam)
   try {
     result = _this->processMessage(msg, wParam, lParam);
   } catch (rdr::Exception& e) {
-    vlog.error("untrapped: %s", e.str());
+    vlog.error("untrapped: %s", e.what());
   }
 
   return result;
index fc006b21f1af48dc2f957e7e6468b87e111cfaa0..e4ad5be59b6f2bd42f5bc17472c2aa54f41897f1 100644 (file)
@@ -54,7 +54,7 @@ bool RegConfig::setKey(const HKEY rootkey, const char* keyname) {
     processEvent(event);
     return true;
   } catch (rdr::Exception& e) {
-    vlog.debug("%s", e.str());
+    vlog.debug("%s", e.what());
     return false;
   }
 }
@@ -71,7 +71,7 @@ void RegConfig::loadRegistryConfig(RegKey& key) {
     }
   } catch (rdr::Win32Exception& e) {
     if (e.err != ERROR_INVALID_HANDLE)
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
   }
 }
 
index 0ec5e231f473c97781551362ffae6b5b5cfb61fb..ea64dbe939d3cd7c6834a3502d1829392ed3289c 100644 (file)
@@ -202,7 +202,7 @@ void SDisplay::startCore() {
       if (tryMethod == 0)
         throw rdr::Exception("unable to access desktop");
       tryMethod--;
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
     }
   }
   vlog.info("Started %s", core->methodName());
@@ -292,7 +292,7 @@ void SDisplay::restartCore() {
     // to cause the server to stop() the desktop.
     // Otherwise, the SDesktop is in an inconsistent state
     // and the server will crash.
-    server->closeClients(e.str());
+    server->closeClients(e.what());
   }
 }
 
@@ -401,7 +401,7 @@ SDisplay::processEvent(HANDLE event) {
       try {
         core->flushUpdates();
       } catch (rdr::Exception& e) {
-        vlog.error("%s", e.str());
+        vlog.error("%s", e.what());
         restartCore();
         return;
       }
index 2bc2f53e262c44bc7357d37dcf0850f73d3a645d..cdc6540993c19f94d4b089124730d7aed44b1842 100644 (file)
@@ -80,7 +80,7 @@ void SocketManager::addListener(network::SocketListener* sock_,
     if (event)
       WSACloseEvent(event);
     delete sock_;
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
     throw;
   }
 
@@ -268,7 +268,7 @@ void SocketManager::processEvent(HANDLE event) {
       if (WSAEventSelect(ci.sock->getFd(), event, eventMask) == SOCKET_ERROR)
         throw rdr::SocketException("unable to re-enable WSAEventSelect:%u", WSAGetLastError());
     } catch (rdr::Exception& e) {
-      vlog.error("%s", e.str());
+      vlog.error("%s", e.what());
       remSocket(ci.sock);
     }
   }
index a540bd760b4ac03750aefb073cb67d1bcbbb331f..8c8bb9aa880b2dab07cf042b30b2354c12b600c6 100644 (file)
@@ -74,7 +74,7 @@ namespace rfb {
           network::TcpFilter::Pattern pat(network::TcpFilter::parsePattern(newPat.c_str()));
           pattern = network::TcpFilter::patternToStr(pat);
         } catch(rdr::Exception& e) {
-          MsgBox(nullptr, e.str(), MB_ICONEXCLAMATION | MB_OK);
+          MsgBox(nullptr, e.what(), MB_ICONEXCLAMATION | MB_OK);
           return false;
         }
         return true;
index 9300bb051c32054c7ced3d2ff8ad214af8b44bee..3dae1c9986bf51a6bb71a7bd172c74e97c243018 100644 (file)
@@ -146,7 +146,7 @@ void LegacyPage::LoadPrefs()
           vlog.info("loading Default prefs");
           LoadUserPrefs(userKey);
         } catch(rdr::Exception& e) {
-          vlog.error("error reading Default settings:%s", e.str());
+          vlog.error("error reading Default settings:%s", e.what());
         }
 
         // Open the local, user-specific settings
@@ -157,7 +157,7 @@ void LegacyPage::LoadPrefs()
             vlog.info("loading local User prefs");
             LoadUserPrefs(userKey);
           } catch(rdr::Exception& e) {
-            vlog.error("error reading local User settings:%s", e.str());
+            vlog.error("error reading local User settings:%s", e.what());
           }
 
           // Open the user's own settings
@@ -168,7 +168,7 @@ void LegacyPage::LoadPrefs()
               vlog.info("loading global User prefs");
               LoadUserPrefs(userKey);
             } catch(rdr::Exception& e) {
-              vlog.error("error reading global User settings:%s", e.str());
+              vlog.error("error reading global User settings:%s", e.what());
             }
           }
         }
index 55f01d2e3fb18a7fbacbfb6ffc5f03c09a139884..bfe4e640629a5612fb9c1bf33ad1f7637968f261 100644 (file)
@@ -180,7 +180,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE /*prev*/, char* /*cmdLine*/, int /*
     }
 
   } catch (rdr::Exception& e) {
-    MsgBox(nullptr, e.str(), MB_ICONEXCLAMATION | MB_OK);
+    MsgBox(nullptr, e.what(), MB_ICONEXCLAMATION | MB_OK);
     return 1;
   }
 
index adc074cf5fe8e372398c1b10352ce445cd92051d..43fe863a9012b569d98f5f5d6417a676fe9bdc77 100644 (file)
@@ -101,7 +101,7 @@ void ManagedListener::refresh() {
         network::createTcpListeners(&sockets, nullptr, port);
     }
   } catch (rdr::Exception& e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
   }
   if (!sockets.empty()) {
     if (!localOnly) {
index d703f47a0843b7caa97c827e17180eeb11b1fb2c..3dbe2c8118bc96fa86e725a445fc26857b6fd6e2 100644 (file)
@@ -160,7 +160,7 @@ public:
             try {
               rfb::win32::stopService(VNCServerService::Name);
             } catch (rdr::Exception& e) {
-              MsgBox(nullptr, e.str(), MB_ICONERROR | MB_OK);
+              MsgBox(nullptr, e.what(), MB_ICONERROR | MB_OK);
             }
           } else {
             thread.server.stop();
index c1545ab6ee8cbd657ae7d2203c6184246e46ca64..9d722740e9f3a8823cb37d28e95f87f2ddf4018b 100644 (file)
@@ -197,10 +197,10 @@ int VNCServerWin32::run() {
 
     vlog.debug("Server exited cleanly");
   } catch (rdr::Win32Exception &s) {
-    vlog.error("%s", s.str());
+    vlog.error("%s", s.what());
     result = s.err;
   } catch (rdr::Exception &e) {
-    vlog.error("%s", e.str());
+    vlog.error("%s", e.what());
   }
 
   {
index ceee0c6f2eccd2893a96f83a058fdb2508d0c196..e6f8abe7eb68cc559fb7f038067c702d545e5b9c 100644 (file)
@@ -229,7 +229,7 @@ static void processParams(int argc, char** argv) {
       }
 
     } catch (rdr::Exception& e) {
-      MsgBoxOrLog(e.str(), true);
+      MsgBoxOrLog(e.what(), true);
     }
   }
 }
@@ -285,7 +285,7 @@ int WINAPI WinMain(HINSTANCE /*inst*/, HINSTANCE /*prevInst*/, char* /*cmdLine*/
 
     vlog.debug("WinVNC service destroyed");
   } catch (rdr::Exception& e) {
-    MsgBoxOrLog(e.str(), true);
+    MsgBoxOrLog(e.what(), true);
   }
 
   vlog.debug("WinVNC process quitting");