static HRESULT WINAPI mxwriter_put_encoding(IMXWriter *iface, BSTR encoding) { mxwriter *This = impl_from_IMXWriter( iface ); xml_encoding enc; HRESULT hr; TRACE("(%p)->(%s)\n", This, debugstr_w(encoding)); enc = parse_encoding_name(encoding); if (enc == XmlEncoding_Unknown) { FIXME("unsupported encoding %s\n", debugstr_w(encoding)); return E_INVALIDARG; } hr = flush_output_buffer(This); if (FAILED(hr)) return hr; SysReAllocString(&This->encoding, encoding); This->xml_enc = enc; TRACE("got encoding %d\n", This->xml_enc); reset_output_buffer(This); return S_OK; }
HRESULT _IFUNC BOleFont::put_Name (BSTR name) { if (lstrcmp (name, bstrName) != 0) { if (PropRequestEdit (DISPID_FONT_NAME) == S_OK) { SysReAllocString (&bstrName, name); modified = TRUE; PropChanged (DISPID_FONT_NAME); } } return NOERROR; }
STDMETHODIMP FbTooltip::put_Text(BSTR text) { TRACK_FUNCTION(); if (!text) return E_INVALIDARG; // realloc string SysReAllocString(&m_tip_buffer, text); m_ti.lpszText = m_tip_buffer; SendMessage(m_wndtooltip, TTM_SETTOOLINFO, 0, (LPARAM)&m_ti); return S_OK; }
BOOL Foobar::COM_infoCache() { if( (m_state <= PL_STOPPED) || (m_comPlaybackEventSink && m_comPlaybackEventSink->m_vbServerState == VARIANT_FALSE) || (!m_comPlayback) ) return FALSE; struct info_t { TCHAR* &ptszValue; WCHAR* ptszFormat; } static info[] = { {m_listening_info.ptszAlbum, L"[%album%]" }, {m_listening_info.ptszArtist, L"[%artist%]" }, {m_listening_info.ptszGenre, L"[%genre%]" }, {m_listening_info.ptszLength, L"[%length%]" }, //Length of the track, formatted as [HH:]MM:SS. {m_listening_info.ptszTitle, L"[%title%]" }, {m_listening_info.ptszTrack, L"[%tracknumber%]" }, {m_listening_info.ptszYear, L"[$year(%date%)]" } }; HRESULT hr; VARIANT_BOOL IsPlaying = 0; /* 0 == FALSE, -1 == TRUE */ VARIANT_BOOL IsPaused = 0; m_comPlayback->get_IsPlaying(&IsPlaying); m_comPlayback->get_IsPaused(&IsPaused); if( IsPlaying == VARIANT_FALSE || IsPlaying == VARIANT_TRUE && IsPaused == VARIANT_TRUE) return FALSE; m_listening_info.cbSize = sizeof(m_listening_info); m_listening_info.ptszPlayer = mir_tstrdup(m_name); m_listening_info.ptszType = mir_tstrdup(_T("Music")); //TODO:support foobar radio m_listening_info.dwFlags = LTI_TCHAR; BSTR strResult = SysAllocString( L""); BSTR strFormat = SysAllocString( L""); for(int i = 0; i < SIZEOF(info); i++) { SysReAllocString(&strFormat,info[i].ptszFormat); if(S_OK!=(hr = m_comPlayback->FormatTitle(strFormat, &strResult))) break; info[i].ptszValue = mir_bstr2t(strResult); } BSTRFREE(strResult); BSTRFREE(strFormat); if(SUCCEEDED(hr)) { return TRUE; } FreeData(); return FALSE; }
STDMETHODIMP CUUEngine::FileFilter(BSTR inFile, BSTR *outFile) { bool extflag = false; // Got one extension const char *src; char *wp; char c, wrk[MAX_PATH + 2]; int len; MString inp(inFile); len = lstrlen(inp); // Read original string length if (len == 0) { SysReAllocString(outFile, inFile); return(S_OK); } if (len >= MAX_PATH) len = MAX_PATH; src = inp + len - 1; // Point to end of incoming string data wp = wrk + len; // End of work buffer *wp-- = EOS; while (len-- > 0) { c = *src--; // Read one character if (c == '.') { // One extension only, please if (!extflag) { *wp-- = '.'; extflag = true; } } else if ((c >= 0 && c < ' ') || strchr("<>:\"|?*\'\\/", c) != NULL) *wp-- = '_'; // Replace unacceptables with underscore else *wp-- = c; // Copy everything else } wp++; // Point to first char while (*wp == '.') wp++; // Can't begin filename with dot(s) inp = wp; inp.ToBSTR(outFile); return S_OK; }
static HRESULT WINAPI httprequest_setRequestHeader(IXMLHTTPRequest *iface, BSTR header, BSTR value) { httprequest *This = impl_from_IXMLHTTPRequest( iface ); struct reqheader *entry; TRACE("(%p)->(%s %s)\n", This, debugstr_w(header), debugstr_w(value)); if (!header || !*header) return E_INVALIDARG; if (This->state != READYSTATE_LOADING) return E_FAIL; if (!value) return E_INVALIDARG; /* replace existing header value if already added */ LIST_FOR_EACH_ENTRY(entry, &This->reqheaders, struct reqheader, entry) { if (lstrcmpW(entry->header, header) == 0) { LONG length = SysStringLen(entry->value); HRESULT hr; hr = SysReAllocString(&entry->value, value) ? S_OK : E_OUTOFMEMORY; if (hr == S_OK) This->reqheader_size += (SysStringLen(entry->value) - length); return hr; } } entry = heap_alloc(sizeof(*entry)); if (!entry) return E_OUTOFMEMORY; /* new header */ entry->header = SysAllocString(header); entry->value = SysAllocString(value); /* header length including null terminator */ This->reqheader_size += SysStringLen(entry->header) + sizeof(colspaceW)/sizeof(WCHAR) + SysStringLen(entry->value) + sizeof(crlfW)/sizeof(WCHAR) - 1; list_add_head(&This->reqheaders, &entry->entry); return S_OK; }
static void loadURL(BSTR urlBStr) { IWebFrame* frame = 0; IWebMutableURLRequest* request = 0; static BSTR methodBStr = SysAllocString(TEXT("GET")); if (urlBStr && urlBStr[0] && (PathFileExists(urlBStr) || PathIsUNC(urlBStr))) { TCHAR fileURL[INTERNET_MAX_URL_LENGTH]; DWORD fileURLLength = sizeof(fileURL)/sizeof(fileURL[0]); if (SUCCEEDED(UrlCreateFromPath(urlBStr, fileURL, &fileURLLength, 0))) SysReAllocString(&urlBStr, fileURL); } HRESULT hr = gWebView->mainFrame(&frame); if (FAILED(hr)) goto exit; hr = WebKitCreateInstance(CLSID_WebMutableURLRequest, 0, IID_IWebMutableURLRequest, (void**)&request); if (FAILED(hr)) goto exit; hr = request->initWithURL(urlBStr, WebURLRequestUseProtocolCachePolicy, 60); if (FAILED(hr)) goto exit; hr = request->setHTTPMethod(methodBStr); if (FAILED(hr)) goto exit; hr = frame->loadRequest(request); if (FAILED(hr)) goto exit; SetFocus(gViewWindow); exit: if (frame) frame->Release(); if (request) request->Release(); }
wxBasicString& wxBasicString::operator=(const wxBasicString& src) { SysReAllocString(&m_bstrBuf, src); return *this; }
STDMETHODIMP CoCat::SetName(BSTR name) { SysReAllocString(&name_, name); return S_OK; }