jscript: Added Error_number and Error_description implementation.
diff --git a/dlls/jscript/error.c b/dlls/jscript/error.c
index a9bcb55..076215f 100644
--- a/dlls/jscript/error.c
+++ b/dlls/jscript/error.c
@@ -42,15 +42,37 @@
static HRESULT Error_number(DispatchEx *dispex, LCID lcid, WORD flags,
DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
{
- FIXME("\n");
- return E_NOTIMPL;
+ ErrorInstance *This = (ErrorInstance*)dispex;
+
+ TRACE("\n");
+
+ switch(flags) {
+ case DISPATCH_PROPERTYGET:
+ return VariantCopy(retv, &This->number);
+ case DISPATCH_PROPERTYPUT:
+ return VariantCopy(&This->number, get_arg(dp, 0));
+ default:
+ FIXME("unimplemented flags %x\n", flags);
+ return E_NOTIMPL;
+ }
}
static HRESULT Error_description(DispatchEx *dispex, LCID lcid, WORD flags,
DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
{
- FIXME("\n");
- return E_NOTIMPL;
+ ErrorInstance *This = (ErrorInstance*)dispex;
+
+ TRACE("\n");
+
+ switch(flags) {
+ case DISPATCH_PROPERTYGET:
+ return VariantCopy(retv, &This->description);
+ case DISPATCH_PROPERTYPUT:
+ return VariantCopy(&This->description, get_arg(dp, 0));
+ default:
+ FIXME("unimplemented flags %x\n", flags);
+ return E_NOTIMPL;
+ }
}
/* ECMA-262 3rd Edition 15.11.4.3 */
@@ -123,6 +145,8 @@
{
ErrorInstance *This = (ErrorInstance*)dispex;
+ VariantClear(&This->number);
+ VariantClear(&This->description);
VariantClear(&This->message);
heap_free(This);
}