Author: akhaldi Date: Wed Apr 23 13:43:40 2014 New Revision: 62899
URL: http://svn.reactos.org/svn/reactos?rev=62899&view=rev Log: [JSCRIPT] * Sync with Wine 1.7.17. CORE-8080
Added: trunk/reactos/dll/win32/jscript/jsglobal.rgs (with props) Modified: trunk/reactos/dll/win32/jscript/CMakeLists.txt trunk/reactos/dll/win32/jscript/global.c trunk/reactos/dll/win32/jscript/jscript.rc trunk/reactos/dll/win32/jscript/jscript_classes.idl trunk/reactos/dll/win32/jscript/jscript_classes.rgs trunk/reactos/dll/win32/jscript/jsglobal.idl trunk/reactos/dll/win32/jscript/jsutils.c trunk/reactos/dll/win32/jscript/lex.c trunk/reactos/dll/win32/jscript/parser.y trunk/reactos/dll/win32/jscript/regexp.c trunk/reactos/dll/win32/jscript/string.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/jscript/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/CMakeList... ============================================================================== --- trunk/reactos/dll/win32/jscript/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/CMakeLists.txt [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -36,6 +36,7 @@ list(APPEND jscript_rc_deps ${CMAKE_CURRENT_SOURCE_DIR}/jscript.rgs ${CMAKE_CURRENT_SOURCE_DIR}/jscript_classes.rgs + ${CMAKE_CURRENT_SOURCE_DIR}/jsglobal.rgs ${CMAKE_CURRENT_BINARY_DIR}/jsglobal.tlb)
set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS "${jscript_rc_deps}")
Modified: trunk/reactos/dll/win32/jscript/global.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/global.c?... ============================================================================== --- trunk/reactos/dll/win32/jscript/global.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/global.c [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -18,7 +18,6 @@
#include "jscript.h"
-#define LONGLONG_MAX (((LONGLONG)0x7fffffff<<32)|0xffffffff)
static const WCHAR NaNW[] = {'N','a','N',0}; static const WCHAR InfinityW[] = {'I','n','f','i','n','i','t','y',0}; @@ -543,7 +542,7 @@
while(isdigitW(*str)) { hlp = d*10 + *(str++) - '0'; - if(d>LONGLONG_MAX/10 || hlp<0) { + if(d>MAXLONGLONG/10 || hlp<0) { exp++; break; } @@ -562,7 +561,7 @@
while(isdigitW(*str)) { hlp = d*10 + *(str++) - '0'; - if(d>LONGLONG_MAX/10 || hlp<0) + if(d>MAXLONGLONG/10 || hlp<0) break;
d = hlp;
Modified: trunk/reactos/dll/win32/jscript/jscript.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/jscript.r... ============================================================================== --- trunk/reactos/dll/win32/jscript/jscript.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/jscript.rc [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -66,7 +66,8 @@ /* @makedep: jscript.rgs */ 2 WINE_REGISTRY jscript.rgs
-3 WINE_REGISTRY "jscript_classes.rgs" +3 WINE_REGISTRY jscript_classes.rgs +4 WINE_REGISTRY jsglobal.rgs
#define WINE_FILEDESCRIPTION_STR "Wine JScript" #define WINE_FILENAME_STR "jscript.dll"
Modified: trunk/reactos/dll/win32/jscript/jscript_classes.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/jscript_c... ============================================================================== --- trunk/reactos/dll/win32/jscript/jscript_classes.idl [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/jscript_classes.idl [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -15,6 +15,8 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + +#pragma makedep register
[ helpstring("JScript Language"),
Modified: trunk/reactos/dll/win32/jscript/jscript_classes.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/jscript_c... ============================================================================== --- trunk/reactos/dll/win32/jscript/jscript_classes.rgs [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/jscript_classes.rgs [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -33,147 +33,4 @@ { CLSID = s '{F414C262-6AC0-11CF-B6D1-00AA00BBBB58}' } - NoRemove Typelib - { - NoRemove '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' - { - '1.0' = s 'JSGlobal' - { - '0' { win32 = s '%MODULE%' } - FLAGS = s '0' - } - } - } - NoRemove Interface - { - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B086}' = s 'GlobalObj' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B087}' = s 'DateObj' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B088}' = s 'MathObj' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B089}' = s 'NumberObj' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B090}' = s 'RegExpObj' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B091}' = s 'StringObj' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B092}' = s 'ArrayInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B093}' = s 'FunctionInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B094}' = s 'StringInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B095}' = s 'BoolInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B096}' = s 'NumberInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B097}' = s 'ObjectInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B098}' = s 'DateInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B099}' = s 'RegExpInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09A}' = s 'ErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09B}' = s 'EvalErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09C}' = s 'RangeErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09D}' = s 'ReferenceErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09E}' = s 'SyntaxErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09F}' = s 'TypeErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - '{3EEF9758-35FC-11D1-8CE4-00C04FC2B0A0}' = s 'URIErrorInstance' - { - ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' - ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' - TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } - } - } - NoRemove CLSID - { - } }
Modified: trunk/reactos/dll/win32/jscript/jsglobal.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/jsglobal.... ============================================================================== --- trunk/reactos/dll/win32/jscript/jsglobal.idl [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/jsglobal.idl [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -16,6 +16,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#pragma makedep regtypelib + #include "jsglobal_dispid.h"
import "oaidl.idl";
Added: trunk/reactos/dll/win32/jscript/jsglobal.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/jsglobal.... ============================================================================== --- trunk/reactos/dll/win32/jscript/jsglobal.rgs (added) +++ trunk/reactos/dll/win32/jscript/jsglobal.rgs [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -0,0 +1,146 @@ +HKCR +{ + NoRemove Typelib + { + NoRemove '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' + { + '1.0' = s 'JSGlobal' + { + '0' { win32 = s '%MODULE%' } + FLAGS = s '0' + } + } + } + NoRemove Interface + { + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B086}' = s 'GlobalObj' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B087}' = s 'DateObj' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B088}' = s 'MathObj' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B089}' = s 'NumberObj' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B090}' = s 'RegExpObj' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B091}' = s 'StringObj' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B092}' = s 'ArrayInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B093}' = s 'FunctionInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B094}' = s 'StringInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B095}' = s 'BoolInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B096}' = s 'NumberInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B097}' = s 'ObjectInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B098}' = s 'DateInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B099}' = s 'RegExpInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09A}' = s 'ErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09B}' = s 'EvalErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09C}' = s 'RangeErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09D}' = s 'ReferenceErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09E}' = s 'SyntaxErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B09F}' = s 'TypeErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + '{3EEF9758-35FC-11D1-8CE4-00C04FC2B0A0}' = s 'URIErrorInstance' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{3EEF9759-35FC-11D1-8CE4-00C04FC2B085}' { val Version = s '1.0' } + } + } + NoRemove CLSID + { + } +}
Propchange: trunk/reactos/dll/win32/jscript/jsglobal.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/jscript/jsutils.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/jsutils.c... ============================================================================== --- trunk/reactos/dll/win32/jscript/jsutils.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/jsutils.c [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -317,6 +317,9 @@ *r = jsval_disp(disp); return S_OK; } + }else { + *r = jsval_disp(NULL); + return S_OK; } /* fall through */ default:
Modified: trunk/reactos/dll/win32/jscript/lex.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/lex.c?rev... ============================================================================== --- trunk/reactos/dll/win32/jscript/lex.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/lex.c [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -384,7 +384,7 @@ d = int_part; while(ctx->ptr < ctx->end && isdigitW(*ctx->ptr)) { hlp = d*10 + *(ctx->ptr++) - '0'; - if(d>LONGLONG_MAX/10 || hlp<0) { + if(d>MAXLONGLONG/10 || hlp<0) { exp++; break; } @@ -401,7 +401,7 @@
while(ctx->ptr < ctx->end && isdigitW(*ctx->ptr)) { hlp = d*10 + *(ctx->ptr++) - '0'; - if(d>LONGLONG_MAX/10 || hlp<0) + if(d>MAXLONGLONG/10 || hlp<0) break;
d = hlp; @@ -441,6 +441,11 @@ if(exp<0 && e<0 && e+exp>0) exp = INT_MIN; else if(exp>0 && e>0 && e+exp<0) exp = INT_MAX; else exp += e; + } + + if(is_identifier_char(*ctx->ptr)) { + WARN("wrong char after zero\n"); + return lex_error(ctx, JS_E_MISSING_SEMICOLON); }
*literal = new_double_literal(ctx, exp>=0 ? d*pow(10, exp) : d/pow(10, -exp)); @@ -466,21 +471,42 @@
if(ctx->ptr < ctx->end && is_identifier_char(*ctx->ptr)) { WARN("unexpected identifier char\n"); - return lex_error(ctx, E_FAIL); + return lex_error(ctx, JS_E_MISSING_SEMICOLON); }
*literal = new_double_literal(ctx, l); return tNumericLiteral; }
+ if(isdigitW(*ctx->ptr)) { + unsigned base = 8; + const WCHAR *ptr; + double val = 0; + + for(ptr = ctx->ptr; ptr < ctx->end && isdigitW(*ptr); ptr++) { + if(*ptr > '7') { + base = 10; + break; + } + } + + do { + val = val*base + *ctx->ptr-'0'; + }while(++ctx->ptr < ctx->end && isdigitW(*ctx->ptr)); + + /* FIXME: Do we need it here? */ + if(ctx->ptr < ctx->end && (is_identifier_char(*ctx->ptr) || *ctx->ptr == '.')) { + WARN("wrong char after octal literal: '%c'\n", *ctx->ptr); + return lex_error(ctx, JS_E_MISSING_SEMICOLON); + } + + *literal = new_double_literal(ctx, val); + return tNumericLiteral; + } + if(is_identifier_char(*ctx->ptr)) { WARN("wrong char after zero\n"); - return lex_error(ctx, E_FAIL); - } - - if(isdigitW(*ctx->ptr)) { - FIXME("octal literals not implemented\n"); - return lex_error(ctx, E_NOTIMPL); + return lex_error(ctx, JS_E_MISSING_SEMICOLON); } }
Modified: trunk/reactos/dll/win32/jscript/parser.y URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/parser.y?... ============================================================================== --- trunk/reactos/dll/win32/jscript/parser.y [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/parser.y [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -1385,7 +1385,7 @@ return &ret->expr; }
-static int parser_error(const char *str) +static int parser_error(parser_ctx_t *ctx, const char *str) { return 0; }
Modified: trunk/reactos/dll/win32/jscript/regexp.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/regexp.c?... ============================================================================== --- trunk/reactos/dll/win32/jscript/regexp.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/regexp.c [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -883,7 +883,7 @@
/* * Hack two bits in CompilerState.flags, for use within FindParenCount to flag - * its being on the stack, and to propagate errors to its callers. + * it being on the stack, and to propagate errors to its callers. */ #define JSREG_FIND_PAREN_COUNT 0x8000 #define JSREG_FIND_PAREN_ERROR 0x4000
Modified: trunk/reactos/dll/win32/jscript/string.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/jscript/string.c?... ============================================================================== --- trunk/reactos/dll/win32/jscript/string.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/jscript/string.c [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -1637,26 +1637,21 @@ break; } case DISPATCH_CONSTRUCT: { + jsstr_t *str; jsdisp_t *ret;
if(argc) { - jsstr_t *str; - hres = to_string(ctx, argv[0], &str); if(FAILED(hres)) return hres; - - hres = create_string(ctx, str, &ret); - jsstr_release(str); }else { - hres = create_string(ctx, jsstr_empty(), &ret); - } - - if(FAILED(hres)) - return hres; - - *r = jsval_obj(ret); - break; + str = jsstr_empty(); + } + + hres = create_string(ctx, str, &ret); + if (SUCCEEDED(hres)) *r = jsval_obj(ret); + jsstr_release(str); + return hres; }
default:
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=6... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Apr 23 13:43:40 2014 @@ -92,7 +92,7 @@ reactos/dll/win32/iphlpapi # Out of sync reactos/dll/win32/itircl # Synced to Wine-1.7.1 reactos/dll/win32/itss # Synced to Wine-1.7.17 -reactos/dll/win32/jscript # Synced to Wine-1.7.1 +reactos/dll/win32/jscript # Synced to Wine-1.7.17 reactos/dll/win32/loadperf # Synced to Wine-1.7.1 reactos/dll/win32/localspl # Synced to Wine-1.7.1 reactos/dll/win32/localui # Synced to Wine-1.7.1