Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24532/src/libopenvrml/openvrml
Modified Files:
script.cpp
Log Message:
Treat the "ecmascript" scheme as JavaScript.
Index: script.cpp
===================================================================
RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v
retrieving revision 1.83
retrieving revision 1.84
diff -C2 -d -r1.83 -r1.84
*** script.cpp 9 Jul 2007 08:14:36 -0000 1.83
--- script.cpp 10 Jul 2007 05:15:33 -0000 1.84
***************
*** 2118,2121 ****
--- 2118,2123 ----
openvrml::script * openvrml::script_node::create_script()
{
+ using std::equal;
+
// Try each url until we find one we like
for (size_t i = 0; i < this->url_.value().size(); ++i) {
***************
*** 2125,2133 ****
# if OPENVRML_ENABLE_SCRIPT_NODE_JAVASCRIPT
// Need to handle external .js files too...
! const char * javascriptScheme = "javascript:";
! const char * vrmlscriptScheme = "vrmlscript:";
! if (std::equal(javascriptScheme, javascriptScheme + 11,
! this->url_.value()[i].begin())
! || std::equal(vrmlscriptScheme, vrmlscriptScheme + 11,
this->url_.value()[i].begin())) {
return new js_::script(*this,
--- 2127,2141 ----
# if OPENVRML_ENABLE_SCRIPT_NODE_JAVASCRIPT
// Need to handle external .js files too...
! static const char ecmascript_scheme[12] = "ecmascript:";
! static const char javascript_scheme[12] = "javascript:";
! static const char vrmlscript_scheme[12] = "vrmlscript:";
! //
! // As it happens, all the possible schemes for ECMAScript scripts are
! //
! if (equal(ecmascript_scheme, ecmascript_scheme + 11,
! this->url_.value()[i].begin())
! || equal(javascript_scheme, javascript_scheme + 11,
! this->url_.value()[i].begin())
! || equal(vrmlscript_scheme, vrmlscript_scheme + 11,
this->url_.value()[i].begin())) {
return new js_::script(*this,
|