static HRESULT WINAPI HTMLSelectElement_get_name(IHTMLSelectElement *iface, BSTR *p) { HTMLSelectElement *This = impl_from_IHTMLSelectElement(iface); nsAString name_str; const PRUnichar *name = NULL; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsAString_Init(&name_str, NULL); nsres = nsIDOMHTMLSelectElement_GetName(This->nsselect, &name_str); if(NS_SUCCEEDED(nsres)) { static const WCHAR wszGarbage[] = {'g','a','r','b','a','g','e',0}; nsAString_GetData(&name_str, &name); /* * Native never returns empty string here. If an element has no name, * name of previous element or ramdom data is returned. */ *p = SysAllocString(*name ? name : wszGarbage); }else { ERR("GetName failed: %08x\n", nsres); } nsAString_Finish(&name_str); TRACE("name=%s\n", debugstr_w(*p)); return S_OK; }
static HRESULT WINAPI HTMLSelectElement_get_name(IHTMLSelectElement *iface, BSTR *p) { HTMLSelectElement *This = impl_from_IHTMLSelectElement(iface); nsAString name_str; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsAString_Init(&name_str, NULL); nsres = nsIDOMHTMLSelectElement_GetName(This->nsselect, &name_str); return return_nsstr(nsres, &name_str, p); }