winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
October 2007
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
4 participants
996 discussions
Start a n
N
ew thread
Jacek Caban : mshtml: Added IHTMLOptionElement::put_value implementation.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 108bb7af2fb0ef9db76d44479b97e87826cfb421 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=108bb7af2fb0ef9db76d44479…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sun Oct 14 00:10:15 2007 +0200 mshtml: Added IHTMLOptionElement::put_value implementation. --- dlls/mshtml/htmloption.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c index a356531..c21a4bb 100644 --- a/dlls/mshtml/htmloption.c +++ b/dlls/mshtml/htmloption.c @@ -121,8 +121,18 @@ static HRESULT WINAPI HTMLOptionElement_get_selected(IHTMLOptionElement *iface, static HRESULT WINAPI HTMLOptionElement_put_value(IHTMLOptionElement *iface, BSTR v) { HTMLOptionElement *This = HTMLOPTION_THIS(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; + nsAString value_str; + nsresult nsres; + + TRACE("(%p)->(%s)\n", This, debugstr_w(v)); + + nsAString_Init(&value_str, v); + nsres = nsIDOMHTMLOptionElement_SetValue(This->nsoption, &value_str); + nsAString_Finish(&value_str); + if(NS_FAILED(nsres)) + ERR("SetValue failed: %08x\n", nsres); + + return S_OK; } static HRESULT WINAPI HTMLOptionElement_get_value(IHTMLOptionElement *iface, BSTR *p)
1
0
0
0
Jacek Caban : mshtml: Added IHTMLOptionElement::get_value implementation.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: b1fca21f5eebd1cf5e84db2d307b7f7c4c9d073a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=b1fca21f5eebd1cf5e84db2d3…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sat Oct 13 04:00:26 2007 +0200 mshtml: Added IHTMLOptionElement::get_value implementation. --- dlls/mshtml/htmloption.c | 31 +++++++++++++++++++++++++++++-- dlls/mshtml/nsiface.idl | 22 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c index 5a0293b..a356531 100644 --- a/dlls/mshtml/htmloption.c +++ b/dlls/mshtml/htmloption.c @@ -39,6 +39,8 @@ typedef struct { HTMLElement element; const IHTMLOptionElementVtbl *lpHTMLOptionElementVtbl; + + nsIDOMHTMLOptionElement *nsoption; } HTMLOptionElement; #define HTMLOPTION(x) ((IHTMLOptionElement*) &(x)->lpHTMLOptionElementVtbl) @@ -126,8 +128,24 @@ static HRESULT WINAPI HTMLOptionElement_put_value(IHTMLOptionElement *iface, BST static HRESULT WINAPI HTMLOptionElement_get_value(IHTMLOptionElement *iface, BSTR *p) { HTMLOptionElement *This = HTMLOPTION_THIS(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + nsAString value_str; + const PRUnichar *value; + nsresult nsres; + + TRACE("(%p)->(%p)\n", This, p); + + nsAString_Init(&value_str, NULL); + nsres = nsIDOMHTMLOptionElement_GetValue(This->nsoption, &value_str); + if(NS_SUCCEEDED(nsres)) { + nsAString_GetData(&value_str, &value, NULL); + *p = SysAllocString(value); + }else { + ERR("GetValue failed: %08x\n", nsres); + *p = NULL; + } + nsAString_Finish(&value_str); + + return S_OK; } static HRESULT WINAPI HTMLOptionElement_put_defaultSelected(IHTMLOptionElement *iface, VARIANT_BOOL v) @@ -232,6 +250,10 @@ static HRESULT HTMLOptionElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv) static void HTMLOptionElement_destructor(HTMLDOMNode *iface) { HTMLOptionElement *This = HTMLOPTION_NODE_THIS(iface); + + if(This->nsoption) + nsIDOMHTMLOptionElement_Release(This->nsoption); + HTMLElement_destructor(&This->element.node); } @@ -245,10 +267,15 @@ static const NodeImplVtbl HTMLOptionElementImplVtbl = { HTMLElement *HTMLOptionElement_Create(nsIDOMHTMLElement *nselem) { HTMLOptionElement *ret = mshtml_alloc(sizeof(HTMLOptionElement)); + nsresult nsres; ret->lpHTMLOptionElementVtbl = &HTMLOptionElementVtbl; ret->element.node.vtbl = &HTMLOptionElementImplVtbl; + nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLOptionElement, (void**)&ret->nsoption); + if(NS_FAILED(nsres)) + ERR("Could not get nsIDOMHTMLOptionElement interface: %08x\n", nsres); + return &ret->element; } diff --git a/dlls/mshtml/nsiface.idl b/dlls/mshtml/nsiface.idl index 1d36197..8b00fbd 100644 --- a/dlls/mshtml/nsiface.idl +++ b/dlls/mshtml/nsiface.idl @@ -1078,6 +1078,28 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement [ object, + uuid(a6cf9092-15b3-11d2-932e-00805f8add32) + /* FROZEN */ +] +interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement +{ + nsresult GetForm(nsIDOMHTMLFormElement **aForm); + nsresult GetDefaultSelected(PRBool *aDefaultSelected); + nsresult SetDefaultSelected(PRBool aDefaultSelected); + nsresult GetText(nsAString *aText); + nsresult GetIndex(PRInt32 *aIndex); + nsresult GetDisabled(PRBool *aDisabled); + nsresult SetDisabled(PRBool aDisabled); + nsresult GetLabel(nsAString *aLabel); + nsresult SetLabel(const nsAString *aLabel); + nsresult GetSelected(PRBool *aSelected); + nsresult SetSelected(PRBool aSelected); + nsresult GetValue(nsAString *aValue); + nsresult SetValue(const nsAString *aValue); +} + +[ + object, uuid(a6cf9090-15b3-11d2-932e-00805f8add32) /* FROZEN */ ]
1
0
0
0
Jacek Caban : mshtml: Added IHTMLStyle display and visibility properties implementation.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: b14ba8aac6e358dde2bc9653309c557dbc296ad7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=b14ba8aac6e358dde2bc96533…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sat Oct 13 04:00:02 2007 +0200 mshtml: Added IHTMLStyle display and visibility properties implementation. --- dlls/mshtml/htmlstyle.c | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c index 756f772..b5ffbf6 100644 --- a/dlls/mshtml/htmlstyle.c +++ b/dlls/mshtml/htmlstyle.c @@ -50,6 +50,8 @@ static const WCHAR attrBackgroundColor[] = {'b','a','c','k','g','r','o','u','n','d','-','c','o','l','o','r',0}; static const WCHAR attrColor[] = {'c','o','l','o','r',0}; +static const WCHAR attrDisplay[] = + {'d','i','s','p','l','a','y',0}; static const WCHAR attrFontFamily[] = {'f','o','n','t','-','f','a','m','i','l','y',0}; static const WCHAR attrFontSize[] = @@ -60,6 +62,8 @@ static const WCHAR attrFontWeight[] = {'f','o','n','t','-','w','e','i','g','h','t',0}; static const WCHAR attrTextDecoration[] = {'t','e','x','t','-','d','e','c','o','r','a','t','i','o','n',0}; +static const WCHAR attrVisibility[] = + {'v','i','s','i','b','i','l','i','t','y',0}; static const WCHAR valLineThrough[] = {'l','i','n','e','-','t','h','r','o','u','g','h',0}; @@ -1145,29 +1149,37 @@ static HRESULT WINAPI HTMLStyle_get_clear(IHTMLStyle *iface, BSTR *p) static HRESULT WINAPI HTMLStyle_put_display(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = HTMLSTYLE_THIS(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; + + TRACE("(%p)->(%s)\n", This, debugstr_w(v)); + + return set_style_attr(This, attrDisplay, v); } static HRESULT WINAPI HTMLStyle_get_display(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = HTMLSTYLE_THIS(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, p); + + return get_style_attr(This, attrDisplay, p); } static HRESULT WINAPI HTMLStyle_put_visibility(IHTMLStyle *iface, BSTR v) { HTMLStyle *This = HTMLSTYLE_THIS(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; + + TRACE("(%p)->(%s)\n", This, debugstr_w(v)); + + return set_style_attr(This, attrVisibility, v); } static HRESULT WINAPI HTMLStyle_get_visibility(IHTMLStyle *iface, BSTR *p) { HTMLStyle *This = HTMLSTYLE_THIS(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, p); + + return get_style_attr(This, attrVisibility, p); } static HRESULT WINAPI HTMLStyle_put_listStyleType(IHTMLStyle *iface, BSTR v)
1
0
0
0
Jacek Caban : mshtml: Added IHTMLDocument4 stub implementation.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 141dfab1a1b713d81e2a3271537dfe6bc67918ac URL:
http://source.winehq.org/git/wine.git/?a=commit;h=141dfab1a1b713d81e2a32715…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sat Oct 13 03:59:38 2007 +0200 mshtml: Added IHTMLDocument4 stub implementation. --- dlls/mshtml/htmldoc.c | 3 + dlls/mshtml/htmldoc3.c | 187 ++++++++++++++++++++++++++++++++++++++++++ dlls/mshtml/mshtml_private.h | 2 + 3 files changed, 192 insertions(+), 0 deletions(-) diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index e6c16a7..4ea2912 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -56,6 +56,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID }else if(IsEqualGUID(&IID_IHTMLDocument3, riid)) { TRACE("(%p)->(IID_IHTMLDocument3, %p)\n", This, ppvObject); *ppvObject = HTMLDOC3(This); + }else if(IsEqualGUID(&IID_IHTMLDocument4, riid)) { + TRACE("(%p)->(IID_IHTMLDocument4, %p)\n", This, ppvObject); + *ppvObject = HTMLDOC4(This); }else if(IsEqualGUID(&IID_IHTMLDocument5, riid)) { TRACE("(%p)->(IID_IHTMLDocument5, %p)\n", This, ppvObject); *ppvObject = HTMLDOC5(This); diff --git a/dlls/mshtml/htmldoc3.c b/dlls/mshtml/htmldoc3.c index 75c089d..4388000 100644 --- a/dlls/mshtml/htmldoc3.c +++ b/dlls/mshtml/htmldoc3.c @@ -420,6 +420,8 @@ static HRESULT WINAPI HTMLDocument3_getElementsByTagName(IHTMLDocument3 *iface, return E_NOTIMPL; } +#undef HTMLDOC3_THIS + static const IHTMLDocument3Vtbl HTMLDocument3Vtbl = { HTMLDocument3_QueryInterface, HTMLDocument3_AddRef, @@ -471,7 +473,192 @@ static const IHTMLDocument3Vtbl HTMLDocument3Vtbl = { HTMLDocument3_getElementsByTagName }; +#define HTMLDOC4_THIS(iface) DEFINE_THIS(HTMLDocument, HTMLDocument4, iface) + +static HRESULT WINAPI HTMLDocument4_QueryInterface(IHTMLDocument4 *iface, + REFIID riid, void **ppv) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppv); +} + +static ULONG WINAPI HTMLDocument4_AddRef(IHTMLDocument4 *iface) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + return IHTMLDocument2_AddRef(HTMLDOC(This)); +} + +static ULONG WINAPI HTMLDocument4_Release(IHTMLDocument4 *iface) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + return IHTMLDocument2_Release(HTMLDOC(This)); +} + +static HRESULT WINAPI HTMLDocument4_GetTypeInfoCount(IHTMLDocument4 *iface, UINT *pctinfo) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, pctinfo); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_GetTypeInfo(IHTMLDocument4 *iface, UINT iTInfo, + LCID lcid, ITypeInfo **ppTInfo) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_GetIDsOfNames(IHTMLDocument4 *iface, REFIID riid, + LPOLESTR *rgszNames, UINT cNames, + LCID lcid, DISPID *rgDispId) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames, + lcid, rgDispId); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_Invoke(IHTMLDocument4 *iface, DISPID dispIdMember, + REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, + VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%d %s %d %d %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid), + lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->()\n", This); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_hasFocus(IHTMLDocument4 *iface, VARIANT_BOOL *pfFocus) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, pfFocus); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_put_onselectionchange(IHTMLDocument4 *iface, VARIANT v) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(v)\n", This); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_get_onselectionchange(IHTMLDocument4 *iface, VARIANT *p) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, p); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_get_namespace(IHTMLDocument4 *iface, IDispatch **p) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, p); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_createDocumentFromUrl(IHTMLDocument4 *iface, BSTR bstrUrl, + BSTR bstrOptions, IHTMLDocument2 **newDoc) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(bstrUrl), debugstr_w(bstrOptions), newDoc); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_put_media(IHTMLDocument4 *iface, BSTR v) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%s)\n", This, debugstr_w(v)); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_get_media(IHTMLDocument4 *iface, BSTR *p) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, p); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_createEventObject(IHTMLDocument4 *iface, + VARIANT *pvarEventObject, IHTMLEventObj **ppEventObj) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p %p)\n", This, pvarEventObject, ppEventObj); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_fireEvent(IHTMLDocument4 *iface, BSTR bstrEventName, + VARIANT *pvarEventObject, VARIANT_BOOL *pfCanceled) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%s %p %p)\n", This, debugstr_w(bstrEventName), pvarEventObject, pfCanceled); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_createRenderStyle(IHTMLDocument4 *iface, BSTR v, + IHTMLRenderStyle **ppIHTMLRenderStyle) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%s %p)\n", This, debugstr_w(v), ppIHTMLRenderStyle); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_put_oncontrolselect(IHTMLDocument4 *iface, VARIANT v) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(v)\n", This); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_get_oncontrolselect(IHTMLDocument4 *iface, VARIANT *p) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, p); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLDocument4_get_URLEncoded(IHTMLDocument4 *iface, BSTR *p) +{ + HTMLDocument *This = HTMLDOC4_THIS(iface); + FIXME("(%p)->(%p)\n", This, p); + return E_NOTIMPL; +} + +#undef HTMLDOC4_THIS + +static const IHTMLDocument4Vtbl HTMLDocument4Vtbl = { + HTMLDocument4_QueryInterface, + HTMLDocument4_AddRef, + HTMLDocument4_Release, + HTMLDocument4_GetTypeInfoCount, + HTMLDocument4_GetTypeInfo, + HTMLDocument4_GetIDsOfNames, + HTMLDocument4_Invoke, + HTMLDocument4_focus, + HTMLDocument4_hasFocus, + HTMLDocument4_put_onselectionchange, + HTMLDocument4_get_onselectionchange, + HTMLDocument4_get_namespace, + HTMLDocument4_createDocumentFromUrl, + HTMLDocument4_put_media, + HTMLDocument4_get_media, + HTMLDocument4_createEventObject, + HTMLDocument4_fireEvent, + HTMLDocument4_createRenderStyle, + HTMLDocument4_put_oncontrolselect, + HTMLDocument4_get_oncontrolselect, + HTMLDocument4_get_URLEncoded +}; + void HTMLDocument_HTMLDocument3_Init(HTMLDocument *This) { This->lpHTMLDocument3Vtbl = &HTMLDocument3Vtbl; + This->lpHTMLDocument4Vtbl = &HTMLDocument4Vtbl; } diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 48e0d4c..8ae5f1d 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -105,6 +105,7 @@ typedef struct { struct HTMLDocument { const IHTMLDocument2Vtbl *lpHTMLDocument2Vtbl; const IHTMLDocument3Vtbl *lpHTMLDocument3Vtbl; + const IHTMLDocument4Vtbl *lpHTMLDocument4Vtbl; const IHTMLDocument5Vtbl *lpHTMLDocument5Vtbl; const IPersistMonikerVtbl *lpPersistMonikerVtbl; const IPersistFileVtbl *lpPersistFileVtbl; @@ -294,6 +295,7 @@ typedef struct { #define HTMLDOC(x) ((IHTMLDocument2*) &(x)->lpHTMLDocument2Vtbl) #define HTMLDOC3(x) ((IHTMLDocument3*) &(x)->lpHTMLDocument3Vtbl) +#define HTMLDOC4(x) ((IHTMLDocument4*) &(x)->lpHTMLDocument4Vtbl) #define HTMLDOC5(x) ((IHTMLDocument5*) &(x)->lpHTMLDocument5Vtbl) #define PERSIST(x) ((IPersist*) &(x)->lpPersistFileVtbl) #define PERSISTMON(x) ((IPersistMoniker*) &(x)->lpPersistMonikerVtbl)
1
0
0
0
Jacek Caban : mshtml: Use wine scheme mechanism in do_load_from_moniker_hack.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 41c35a1ce2e28ec5f53a66d87a0c8ab1110771dd URL:
http://source.winehq.org/git/wine.git/?a=commit;h=41c35a1ce2e28ec5f53a66d87…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sat Oct 13 03:59:19 2007 +0200 mshtml: Use wine scheme mechanism in do_load_from_moniker_hack. --- dlls/mshtml/nsio.c | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index 7bccce1..7768b2b 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -568,7 +568,9 @@ static nsresult NSAPI nsChannel_Open(nsIHttpChannel *iface, nsIInputStream **_re static BOOL do_load_from_moniker_hack(nsChannel *This) { - PRBool b = FALSE; + nsACString scheme_str; + nsresult nsres; + BOOL ret = TRUE; /* * We should always load the page from IMoniker, but Wine is not yet @@ -581,12 +583,18 @@ static BOOL do_load_from_moniker_hack(nsChannel *This) if(!This->channel) return TRUE; - /* Load about protocol from moniker */ - nsIWineURI_SchemeIs(This->uri, "about", &b); - if(b) - return TRUE; + nsACString_Init(&scheme_str, NULL); + nsres = nsIWineURI_GetScheme(This->uri, &scheme_str); + + if(NS_SUCCEEDED(nsres)) { + const char *scheme; + + nsACString_GetData(&scheme_str, &scheme, NULL); + ret = !strcmp(scheme, "wine"); + } - return FALSE; + nsACString_Finish(&scheme_str); + return ret; } static HRESULT create_mon_for_nschannel(nsChannel *channel, IMoniker **mon)
1
0
0
0
Jacek Caban : mshtml: Added IHTMLWindow2::get_option implementation.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 954d4477b5054498282c039dcdcc7f3b205165e3 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=954d4477b5054498282c039dc…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sat Oct 13 03:58:55 2007 +0200 mshtml: Added IHTMLWindow2::get_option implementation. --- dlls/mshtml/htmldoc.c | 8 +++- dlls/mshtml/htmloption.c | 121 ++++++++++++++++++++++++++++++++++++++++++ dlls/mshtml/htmlwindow.c | 12 ++++- dlls/mshtml/mshtml_private.h | 13 +++++ 4 files changed, 151 insertions(+), 3 deletions(-) diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 4faeb6e..e6c16a7 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -174,6 +174,11 @@ static ULONG WINAPI HTMLDocument_Release(IHTMLDocument2 *iface) if(This->hwnd) DestroyWindow(This->hwnd); + if(This->option_factory) { + This->option_factory->doc = NULL; + IHTMLOptionElementFactory_Release(HTMLOPTFACTORY(This->option_factory)); + } + if(This->window) IHTMLWindow2_Release(HTMLWINDOW2(This->window)); @@ -736,7 +741,7 @@ static HRESULT WINAPI HTMLDocument_execCommandShowHelp(IHTMLDocument2 *iface, BS } static HRESULT WINAPI HTMLDocument_createElement(IHTMLDocument2 *iface, BSTR eTag, - IHTMLElement **newElem) + IHTMLElement **newElem) { FIXME("(%p)->(%s %p)\n", iface, debugstr_w(eTag), newElem); return E_NOTIMPL; @@ -1175,6 +1180,7 @@ HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject) ret->nodes = NULL; ret->readystate = READYSTATE_UNINITIALIZED; ret->window = NULL; + ret->option_factory = NULL; list_init(&ret->selection_list); list_init(&ret->range_list); diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c index 5e707ad..5a0293b 100644 --- a/dlls/mshtml/htmloption.c +++ b/dlls/mshtml/htmloption.c @@ -251,3 +251,124 @@ HTMLElement *HTMLOptionElement_Create(nsIDOMHTMLElement *nselem) return &ret->element; } + +#define HTMLOPTFACTORY_THIS(iface) DEFINE_THIS(HTMLOptionElementFactory, HTMLOptionElementFactory, iface) + +static HRESULT WINAPI HTMLOptionElementFactory_QueryInterface(IHTMLOptionElementFactory *iface, + REFIID riid, void **ppv) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + + *ppv = NULL; + + if(IsEqualGUID(&IID_IUnknown, riid)) { + TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); + *ppv = HTMLOPTFACTORY(This); + }else if(IsEqualGUID(&IID_IDispatch, riid)) { + TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv); + *ppv = HTMLOPTFACTORY(This); + }else if(IsEqualGUID(&IID_IHTMLOptionElementFactory, riid)) { + TRACE("(%p)->(IID_IHTMLOptionElementFactory %p)\n", This, ppv); + *ppv = HTMLOPTFACTORY(This); + } + + if(*ppv) { + IUnknown_AddRef((IUnknown*)*ppv); + return S_OK; + } + + WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); + return E_NOINTERFACE; +} + +static ULONG WINAPI HTMLOptionElementFactory_AddRef(IHTMLOptionElementFactory *iface) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + LONG ref = InterlockedIncrement(&This->ref); + + TRACE("(%p) ref=%d\n", This, ref); + + return ref; +} + +static ULONG WINAPI HTMLOptionElementFactory_Release(IHTMLOptionElementFactory *iface) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + LONG ref = InterlockedDecrement(&This->ref); + + TRACE("(%p) ref=%d\n", This, ref); + + if(!ref) + mshtml_free(This); + + return ref; +} + +static HRESULT WINAPI HTMLOptionElementFactory_GetTypeInfoCount(IHTMLOptionElementFactory *iface, UINT *pctinfo) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + FIXME("(%p)->(%p)\n", This, pctinfo); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLOptionElementFactory_GetTypeInfo(IHTMLOptionElementFactory *iface, UINT iTInfo, + LCID lcid, ITypeInfo **ppTInfo) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + FIXME("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLOptionElementFactory_GetIDsOfNames(IHTMLOptionElementFactory *iface, REFIID riid, + LPOLESTR *rgszNames, UINT cNames, + LCID lcid, DISPID *rgDispId) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + FIXME("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames, + lcid, rgDispId); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLOptionElementFactory_Invoke(IHTMLOptionElementFactory *iface, DISPID dispIdMember, + REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, + VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + FIXME("(%p)->(%d %s %d %d %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid), + lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); + return E_NOTIMPL; +} + +static HRESULT WINAPI HTMLOptionElementFactory_create(IHTMLOptionElementFactory *iface, + VARIANT text, VARIANT value, VARIANT defaultselected, VARIANT selected, + IHTMLOptionElement **optelem) +{ + HTMLOptionElementFactory *This = HTMLOPTFACTORY_THIS(iface); + FIXME("(%p)->(v v v v %p)\n", This, optelem); + return E_NOTIMPL; +} + +#undef HTMLOPTFACTORY_THIS + +static const IHTMLOptionElementFactoryVtbl HTMLOptionElementFactoryVtbl = { + HTMLOptionElementFactory_QueryInterface, + HTMLOptionElementFactory_AddRef, + HTMLOptionElementFactory_Release, + HTMLOptionElementFactory_GetTypeInfoCount, + HTMLOptionElementFactory_GetTypeInfo, + HTMLOptionElementFactory_GetIDsOfNames, + HTMLOptionElementFactory_Invoke, + HTMLOptionElementFactory_create +}; + +HTMLOptionElementFactory *HTMLOptionElementFactory_Create(HTMLDocument *doc) +{ + HTMLOptionElementFactory *ret; + + ret = mshtml_alloc(sizeof(HTMLOptionElementFactory)); + ret->lpHTMLOptionElementFactoryVtbl = &HTMLOptionElementFactoryVtbl; + ret->ref = 1; + ret->doc = doc; + + return ret; +} diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index 369a09c..fee2297 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -534,8 +534,16 @@ static HRESULT WINAPI HTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen ** static HRESULT WINAPI HTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionElementFactory **p) { HTMLWindow *This = HTMLWINDOW2_THIS(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, p); + + if(!This->doc->option_factory) + This->doc->option_factory = HTMLOptionElementFactory_Create(This->doc); + + *p = HTMLOPTFACTORY(This->doc->option_factory); + IHTMLOptionElementFactory_AddRef(*p); + + return S_OK; } static HRESULT WINAPI HTMLWindow2_focus(IHTMLWindow2 *iface) diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 68e7e14..48e0d4c 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -94,6 +94,14 @@ struct ConnectionPoint { ConnectionPoint *next; }; +typedef struct { + const IHTMLOptionElementFactoryVtbl *lpHTMLOptionElementFactoryVtbl; + + LONG ref; + + HTMLDocument *doc; +} HTMLOptionElementFactory; + struct HTMLDocument { const IHTMLDocument2Vtbl *lpHTMLDocument2Vtbl; const IHTMLDocument3Vtbl *lpHTMLDocument3Vtbl; @@ -152,6 +160,8 @@ struct HTMLDocument { ConnectionPoint cp_htmldocevents2; ConnectionPoint cp_propnotif; + HTMLOptionElementFactory *option_factory; + struct list selection_list; struct list range_list; @@ -330,6 +340,8 @@ typedef struct { #define HTMLTEXTCONT(x) ((IHTMLTextContainer*) &(x)->lpHTMLTextContainerVtbl) +#define HTMLOPTFACTORY(x) ((IHTMLOptionElementFactory*) &(x)->lpHTMLOptionElementFactoryVtbl) + #define DEFINE_THIS2(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,ifc))) #define DEFINE_THIS(cls,ifc,iface) DEFINE_THIS2(cls,lp ## ifc ## Vtbl,iface) @@ -338,6 +350,7 @@ HRESULT HTMLLoadOptions_Create(IUnknown*,REFIID,void**); HTMLWindow *HTMLWindow_Create(HTMLDocument*); HTMLWindow *nswindow_to_window(const nsIDOMWindow*); +HTMLOptionElementFactory *HTMLOptionElementFactory_Create(HTMLDocument*); void setup_nswindow(HTMLWindow*); void HTMLDocument_HTMLDocument3_Init(HTMLDocument*);
1
0
0
0
Jacek Caban : mshtml: Fixed ref count leak.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 697d65305b39f143fbbb3cfe72dfbf0c67c5bed4 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=697d65305b39f143fbbb3cfe7…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Sat Oct 13 03:58:06 2007 +0200 mshtml: Fixed ref count leak. --- dlls/mshtml/txtrange.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/dlls/mshtml/txtrange.c b/dlls/mshtml/txtrange.c index 1323540..faea069 100644 --- a/dlls/mshtml/txtrange.c +++ b/dlls/mshtml/txtrange.c @@ -880,6 +880,7 @@ static HRESULT WINAPI HTMLTxtRange_put_text(IHTMLTxtRange *iface, BSTR v) nsAString_Init(&text_str, v); nsres = nsIDOMDocument_CreateTextNode(nsdoc, &text_str, &text_node); + nsIDOMDocument_Release(nsdoc); nsAString_Finish(&text_str); if(NS_FAILED(nsres)) { ERR("CreateTextNode failed: %08x\n", nsres);
1
0
0
0
Jacek Caban : mshtml: Fix range pos after put_text call.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 512d09245d2b548db289084437c5293998c9d949 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=512d09245d2b548db28908443…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Fri Oct 12 11:11:24 2007 +0200 mshtml: Fix range pos after put_text call. --- dlls/mshtml/tests/dom.c | 3 +++ dlls/mshtml/txtrange.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index 966831e..93d134a 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -361,6 +361,9 @@ static void test_txtrange(IHTMLDocument2 *doc) test_range_expand(range, wordW, VARIANT_TRUE, "test "); test_range_put_text(range, wordW); test_range_text(body_range, "wordabc 123\r\nit's text"); + test_range_text(range, NULL); + test_range_moveend(range, characterW, 3, 3); + test_range_text(range, "abc"); IHTMLTxtRange_Release(range); IHTMLTxtRange_Release(body_range); diff --git a/dlls/mshtml/txtrange.c b/dlls/mshtml/txtrange.c index 4e67af9..1323540 100644 --- a/dlls/mshtml/txtrange.c +++ b/dlls/mshtml/txtrange.c @@ -893,7 +893,11 @@ static HRESULT WINAPI HTMLTxtRange_put_text(IHTMLTxtRange *iface, BSTR v) if(NS_FAILED(nsres)) ERR("InsertNode failed: %08x\n", nsres); - return S_OK; + nsres = nsIDOMRange_SetEndAfter(This->nsrange, (nsIDOMNode*)text_node); + if(NS_FAILED(nsres)) + ERR("SetEndAfter failed: %08x\n", nsres); + + return IHTMLTxtRange_collapse(HTMLTXTRANGE(This), VARIANT_FALSE); } static HRESULT WINAPI HTMLTxtRange_get_text(IHTMLTxtRange *iface, BSTR *p)
1
0
0
0
Juan Lang : iphlpapi: Improve GetPerAdapterInfo stub.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: b0efe7f8b883a95e85eb247f22b8de4ba926014b URL:
http://source.winehq.org/git/wine.git/?a=commit;h=b0efe7f8b883a95e85eb247f2…
Author: Juan Lang <juan.lang(a)gmail.com> Date: Fri Oct 12 16:16:35 2007 -0700 iphlpapi: Improve GetPerAdapterInfo stub. --- dlls/iphlpapi/iphlpapi_main.c | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-) diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index 2aac18d..eaccf83 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -1450,13 +1450,33 @@ DWORD WINAPI GetNumberOfInterfaces(PDWORD pdwNumIf) * Failure: error code from winerror.h * * FIXME - * Stub, returns ERROR_NOT_SUPPORTED. + * Stub, returns empty IP_PER_ADAPTER_INFO in every case. */ DWORD WINAPI GetPerAdapterInfo(ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen) { + ULONG bytesNeeded = sizeof(IP_PER_ADAPTER_INFO); + DWORD ret; + TRACE("(IfIndex %d, pPerAdapterInfo %p, pOutBufLen %p)\n", IfIndex, pPerAdapterInfo, pOutBufLen); - return ERROR_NOT_SUPPORTED; + if (!pOutBufLen) + ret = ERROR_INVALID_PARAMETER; + else if (!pPerAdapterInfo) + { + *pOutBufLen = bytesNeeded; + ret = NO_ERROR; + } + else if (*pOutBufLen < bytesNeeded) + { + *pOutBufLen = bytesNeeded; + ret = ERROR_BUFFER_OVERFLOW; + } + else + { + memset(pPerAdapterInfo, 0, bytesNeeded); + ret = NO_ERROR; + } + return ret; }
1
0
0
0
Juan Lang : ws2_32: Fix broadcast address calculation.
by Alexandre Julliard
15 Oct '07
15 Oct '07
Module: wine Branch: master Commit: 17248108d4bcb2b37d1a4d613c2dcf3507366cad URL:
http://source.winehq.org/git/wine.git/?a=commit;h=17248108d4bcb2b37d1a4d613…
Author: Juan Lang <juan.lang(a)gmail.com> Date: Fri Oct 12 16:15:29 2007 -0700 ws2_32: Fix broadcast address calculation. --- dlls/ws2_32/socket.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index 2e5e558..24a4a76 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -2164,7 +2164,7 @@ INT WINAPI WSAIoctl(SOCKET s, addr = inet_addr(ptr->IpAddressList.IpAddress.String); mask = inet_addr(ptr->IpAddressList.IpMask.String); - bcast = addr | (addr & !mask); + bcast = addr | ~mask; intArray->iiAddress.AddressIn.sin_family = AF_INET; intArray->iiAddress.AddressIn.sin_port = 0; intArray->iiAddress.AddressIn.sin_addr.WS_s_addr =
1
0
0
0
← Newer
1
...
62
63
64
65
66
67
68
...
100
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Results per page:
10
25
50
100
200