--- SpiceXPI/src/plugin/plugin.cpp | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/SpiceXPI/src/plugin/plugin.cpp b/SpiceXPI/src/plugin/plugin.cpp index 8acde24..76f2768 100644 --- a/SpiceXPI/src/plugin/plugin.cpp +++ b/SpiceXPI/src/plugin/plugin.cpp @@ -330,18 +330,25 @@ 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_SSLChannels, 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 */ + size_t found; + const char* chan_names[] = {"smain" , "sdisplay", "sinputs" , "scursor", + "splayback", "srecord"}; + const int nnames = sizeof(chan_names) / sizeof(chan_names[0]); + int i; + + for (i=0; i < nnames; i++) { + const char *name = chan_names[i]; + 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; */ -- 1.7.1 _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel