Module: wine Branch: master Commit: 3ee9f2407b8fede4ddcfbf455660488b2ae856e0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3ee9f2407b8fede4ddcfbf4556...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Tue Jan 7 03:25:48 2014 +0400
scrrun: Implement Name() property for File.
---
dlls/scrrun/filesystem.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c index a2562ef..1c0c6c3 100644 --- a/dlls/scrrun/filesystem.c +++ b/dlls/scrrun/filesystem.c @@ -1559,11 +1559,29 @@ static HRESULT WINAPI file_get_Path(IFile *iface, BSTR *pbstrPath) return E_NOTIMPL; }
-static HRESULT WINAPI file_get_Name(IFile *iface, BSTR *pbstrName) +static HRESULT WINAPI file_get_Name(IFile *iface, BSTR *name) { struct file *This = impl_from_IFile(iface); - FIXME("(%p)->(%p)\n", This, pbstrName); - return E_NOTIMPL; + WCHAR *ptr; + + TRACE("(%p)->(%p)\n", This, name); + + if(!name) + return E_POINTER; + + *name = NULL; + + ptr = strrchrW(This->path, '\'); + if (ptr) + { + *name = SysAllocString(ptr+1); + TRACE("%s\n", debugstr_w(*name)); + if (!*name) return E_OUTOFMEMORY; + } + else + return E_FAIL; + + return S_OK; }
static HRESULT WINAPI file_put_Name(IFile *iface, BSTR pbstrName)