diff --git a/libs/yscript/javascript.cpp b/libs/yscript/javascript.cpp index 8b6c1515..159793d2 100644 --- a/libs/yscript/javascript.cpp +++ b/libs/yscript/javascript.cpp @@ -321,7 +321,7 @@ bool JsCode::link() continue; long int lbl = l->number(); for (unsigned int j = 0; j < n; i++) { - ExpOperation* jmp = static_cast(m_linked[j]); + const ExpOperation* jmp = static_cast(m_linked[j]); if (!jmp || jmp->number() != lbl) continue; Opcode op = OpcNone; @@ -342,6 +342,7 @@ bool JsCode::link() m_linked.set(new ExpOperation(op,0,offs,jmp->barrier()),j); } } + return true; } bool JsCode::keywordChar(char c) const @@ -932,7 +933,7 @@ bool JsCode::jumpRelative(long int offset, GenObject* context) const return false; unsigned int& index = static_cast(context)->m_index; long int i = index + offset; - if (i < 0 || i > m_linked.length()) + if (i < 0 || i > (long int)m_linked.length()) return false; index = i; return true; diff --git a/libs/yscript/script.cpp b/libs/yscript/script.cpp index a697b958..4b9bb4e1 100644 --- a/libs/yscript/script.cpp +++ b/libs/yscript/script.cpp @@ -57,9 +57,9 @@ bool ScriptParser::parseFile(const char* name, bool fragment) int64_t len = f.length(); if (len <= 0 || len > 65535) return false; - DataBlock data(0,len+1); + DataBlock data(0,(unsigned int)len+1); char* text = (char*)data.data(); - if (f.readData(text,len) != len) + if (f.readData(text,(int)len) != len) return false; text[len] = '\0'; return parse(text,fragment); diff --git a/libs/yscript/yatescript.h b/libs/yscript/yatescript.h index 15ff7b64..47c866b0 100644 --- a/libs/yscript/yatescript.h +++ b/libs/yscript/yatescript.h @@ -57,6 +57,12 @@ class ExpOperation; class YSCRIPT_API ExpExtender { public: + /** + * Destructor + */ + virtual ~ExpExtender() + { } + /** * Retrieve the reference counted object owning this interface * @return Pointer to object owning the extender, NULL if no ownership