[Spice-commits] SpiceXPI/src

Peter Hatina phatina at kemper.freedesktop.org
Mon Apr 23 03:56:20 PDT 2012


 SpiceXPI/src/plugin/plugin.cpp |   24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

New commits:
commit fc52cb81a96f223811caa002b35beadc6aa85939
Author: Peter Hatina <phatina at redhat.com>
Date:   Mon Apr 23 12:52:13 2012 +0200

    remove leading 's' from all spice channel names

diff --git a/SpiceXPI/src/plugin/plugin.cpp b/SpiceXPI/src/plugin/plugin.cpp
index 8acde24..d12d02c 100644
--- a/SpiceXPI/src/plugin/plugin.cpp
+++ b/SpiceXPI/src/plugin/plugin.cpp
@@ -330,18 +330,24 @@ void nsPluginInstance::SetSSLChannels(const char *aSSLChannels)
     m_ssl_channels = aSSLChannels;
 
     /*
-     * HACK -- remove leading s from m_SSLChannels, e.g. "main" not "smain"
+     * Backward Compatibility: Begin
+     * Remove leading 's' from m_ssl_channels, e.g. "main" not "smain"
      * RHEL5 uses 'smain' and 'sinpusts
      * RHEL6 uses 'main'  and 'inputs'
      */
-    std::size_t found = 0;
-    while ((found = m_ssl_channels.find("smain", found)) != std::string::npos)
-        m_ssl_channels.replace(found, 5, "main");
-
-    found = 0;
-    while ((found = m_ssl_channels.find("sinputs", found)) != std::string::npos)
-        m_ssl_channels.replace(found, 7, "inputs");
-    /* HACK */
+    const char* chan_names[] = {
+        "smain", "sdisplay", "sinputs",
+        "scursor", "splayback", "srecord"
+    };
+    const int nnames = sizeof(chan_names) / sizeof(chan_names[0]);
+
+    for (int i = 0; i < nnames; i++) {
+        const char *name = chan_names[i];
+        size_t found = 0;
+        while ((found = m_ssl_channels.find(name, found)) != std::string::npos)
+            m_ssl_channels.replace(found, strlen(name), name + 1);
+    }
+    /* Backward Compatibility: End */
 }
 
 //* attribute string TrustStore; */


More information about the Spice-commits mailing list