From 868edd81fb052448f102ec7e606c6939c54a4f9a Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 30 May 2016 09:19:33 +0000 Subject: code cleaning for YAHOO file receiving git-svn-id: http://svn.miranda-ng.org/main/trunk@16886 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Yahoo/src/file_transfer.cpp | 44 +++++++++++------------------------ 1 file changed, 14 insertions(+), 30 deletions(-) (limited to 'protocols/Yahoo') diff --git a/protocols/Yahoo/src/file_transfer.cpp b/protocols/Yahoo/src/file_transfer.cpp index 058086921e..aac588cf74 100644 --- a/protocols/Yahoo/src/file_transfer.cpp +++ b/protocols/Yahoo/src/file_transfer.cpp @@ -477,18 +477,14 @@ void CYahooProto::ext_got_file(const char *me, const char *who, const char *url, if (fname != NULL) mir_strncpy(fn, fname, 1024); else { - char *start, *end; - /* based on how gaim does this */ - start = (char*)strrchr(url, '/'); + char *start = (char*)strrchr(url, '/'); if (start) start++; - end = (char*)strrchr(url, '?'); - - if (start && *start && end) { + char *end = (char*)strrchr(url, '?'); + if (start && *start && end) mir_strncpy(fn, start, end - start + 1); - } else mir_strcpy(fn, "filename.ext"); } @@ -506,26 +502,20 @@ void CYahooProto::ext_got_file(const char *me, const char *who, const char *url, return; } - TCHAR* ptszFileName = mir_a2t(fn); + char *szFileName = fn; PROTORECVFILET pre = { 0 }; pre.dwFlags = PRFF_TCHAR; pre.fileCount = 1; pre.timestamp = time(NULL); - pre.descr.t = mir_a2t(msg); - pre.files.t = &ptszFileName; + pre.descr.a = (char*)msg; + pre.files.a = &szFileName; pre.lParam = (LPARAM)ft; ProtoChainRecvFile(hContact, &pre); - - mir_free(pre.descr.t); - mir_free(ptszFileName); } void CYahooProto::ext_got_files(const char *me, const char *who, const char *ft_token, int y7, YList* files) { - char fn[4096]; - int fc = 0; - LOG(("[ext_yahoo_got_files] ident:%s, who: %s, ftoken: %s ", me, who, ft_token == NULL ? "NULL" : ft_token)); MCONTACT hContact = getbuddyH(who); @@ -538,26 +528,20 @@ void CYahooProto::ext_got_files(const char *me, const char *who, const char *ft_ return; } - fn[0] = '\0'; - for (YList *f = files; f; f = y_list_next(f)) { - char z[1024]; - yahoo_file_info *fi = (yahoo_file_info *) f->data; + int fc = 0; + LIST arNames(1); - mir_snprintf(z, "%s (%lu)\r\n", fi->filename, fi->filesize); - mir_strcat(fn, z); + for (YList *f = files; f; f = y_list_next(f)) { + yahoo_file_info *fi = (yahoo_file_info *)f->data; + arNames.insert(fi->filename); fc++; } - if (fc > 1) { - /* multiple files */ - - } - PROTORECVFILET pre = { 0 }; - pre.fileCount = 1; + pre.fileCount = fc; pre.timestamp = time(NULL); pre.descr.a = ""; - pre.files.a = (char**)&fn; + pre.files.a = arNames.getArray(); pre.lParam = (LPARAM)ft; ProtoChainRecvFile(ft->hContact, &pre); } @@ -636,7 +620,7 @@ void CYahooProto::ext_ft7_send_file(const char *me, const char *who, const char* return; } - _sfs *s = (_sfs *) malloc(sizeof(_sfs)); + _sfs *s = (_sfs *)malloc(sizeof(_sfs)); s->me = strdup(me); s->token = strdup(token); -- cgit v1.2.3