From d8d1baa7d5c286c907d18d278738331debc0aabd Mon Sep 17 00:00:00 2001 From: Alexander Lantsev Date: Wed, 12 Mar 2014 11:29:59 +0000 Subject: Dropbox: - fixed message with download link - fixed minor bug in file uploading git-svn-id: http://svn.miranda-ng.org/main/trunk@8570 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Dropbox/src/dropbox_services.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'plugins/Dropbox/src/dropbox_services.cpp') diff --git a/plugins/Dropbox/src/dropbox_services.cpp b/plugins/Dropbox/src/dropbox_services.cpp index b91ce2de5c..c8ab1957f7 100644 --- a/plugins/Dropbox/src/dropbox_services.cpp +++ b/plugins/Dropbox/src/dropbox_services.cpp @@ -62,7 +62,7 @@ INT_PTR CDropbox::ProtoSendFile(void *obj, WPARAM, LPARAM lParam) if (!ftp->relativePathStart) { wchar_t *rootFolder = paths[j]; - wchar_t *relativePath = wcsrchr(rootFolder, L'\\') + 1; + wchar_t *relativePath = wcsrchr(rootFolder, '\\') + 1; ftp->relativePathStart = relativePath - rootFolder; } @@ -72,6 +72,16 @@ INT_PTR CDropbox::ProtoSendFile(void *obj, WPARAM, LPARAM lParam) } else { + if (!ftp->pfts.wszWorkingDir) + { + wchar_t *path = paths[j]; + int length = wcsrchr(path, '\\') - path; + ftp->pfts.wszWorkingDir = (wchar_t*)mir_alloc(sizeof(wchar_t) * (length + 1)); + lstrcpyn(ftp->pfts.wszWorkingDir, paths[j], length + 1); + ftp->pfts.wszWorkingDir[length] = '\0'; + + } + ftp->pfts.pwszFiles[k] = mir_wstrdup(paths[i]); FILE *file = _wfopen(paths[i], L"rb"); @@ -189,7 +199,7 @@ INT_PTR CDropbox::SendFileToDropbox(void *obj, WPARAM hContact, LPARAM lParam) if (!instance->HasAccessToken()) return 0; - const wchar_t *filePath = (wchar_t*)lParam; + wchar_t *filePath = (wchar_t*)lParam; FileTransferParam *ftp = new FileTransferParam(); ftp->withVisualisation = false; @@ -199,6 +209,11 @@ INT_PTR CDropbox::SendFileToDropbox(void *obj, WPARAM hContact, LPARAM lParam) ftp->hContact = (instance->hTransferContact) ? instance->hTransferContact : hContact; instance->hTransferContact = 0; + int length = wcsrchr(filePath, '\\') - filePath; + ftp->pfts.wszWorkingDir = (wchar_t*)mir_alloc(sizeof(wchar_t) * (length + 1)); + lstrcpyn(ftp->pfts.wszWorkingDir, filePath, length + 1); + ftp->pfts.wszWorkingDir[length] = '\0'; + ftp->pfts.pwszFiles = (wchar_t**)mir_alloc(sizeof(wchar_t*) * (ftp->pfts.totalFiles + 1)); ftp->pfts.pwszFiles[0] = mir_wstrdup(filePath); ftp->pfts.pwszFiles[ftp->pfts.totalFiles] = NULL; -- cgit v1.2.3