Jacek Caban : wininet: Code clean up by using heap_strdup* functions.
Alexandre Julliard
julliard at winehq.org
Mon Jul 20 07:37:03 CDT 2009
Module: wine
Branch: master
Commit: 0055cfedc2a95893e6667b558a967134c0a83aa3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0055cfedc2a95893e6667b558a967134c0a83aa3
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Jul 19 18:09:10 2009 +0200
wininet: Code clean up by using heap_strdup* functions.
---
dlls/wininet/cookie.c | 98 ++++++++++++-------------------------------------
1 files changed, 24 insertions(+), 74 deletions(-)
diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c
index c9bcad0..30e0b99 100644
--- a/dlls/wininet/cookie.c
+++ b/dlls/wininet/cookie.c
@@ -95,17 +95,8 @@ static cookie *COOKIE_addCookie(cookie_domain *domain, LPCWSTR name, LPCWSTR dat
newCookie->lpCookieName = NULL;
newCookie->lpCookieData = NULL;
newCookie->expiry = expiry;
-
- if (name)
- {
- newCookie->lpCookieName = HeapAlloc(GetProcessHeap(), 0, (strlenW(name) + 1)*sizeof(WCHAR));
- lstrcpyW(newCookie->lpCookieName, name);
- }
- if (data)
- {
- newCookie->lpCookieData = HeapAlloc(GetProcessHeap(), 0, (strlenW(data) + 1)*sizeof(WCHAR));
- lstrcpyW(newCookie->lpCookieData, data);
- }
+ newCookie->lpCookieName = heap_strdupW(name);
+ newCookie->lpCookieData = heap_strdupW(data);
TRACE("added cookie %p (data is %s)\n", newCookie, debugstr_w(data) );
@@ -160,17 +151,8 @@ static cookie_domain *COOKIE_addDomain(LPCWSTR domain, LPCWSTR path)
list_init(&newDomain->cookie_list);
newDomain->lpCookieDomain = NULL;
newDomain->lpCookiePath = NULL;
-
- if (domain)
- {
- newDomain->lpCookieDomain = HeapAlloc(GetProcessHeap(), 0, (strlenW(domain) + 1)*sizeof(WCHAR));
- strcpyW(newDomain->lpCookieDomain, domain);
- }
- if (path)
- {
- newDomain->lpCookiePath = HeapAlloc(GetProcessHeap(), 0, (strlenW(path) + 1)*sizeof(WCHAR));
- lstrcpyW(newDomain->lpCookiePath, path);
- }
+ newDomain->lpCookieDomain = heap_strdupW(domain);
+ newDomain->lpCookiePath = heap_strdupW(path);
list_add_tail(&domain_list, &newDomain->entry);
@@ -398,27 +380,16 @@ BOOL WINAPI InternetGetCookieA(LPCSTR lpszUrl, LPCSTR lpszCookieName,
LPSTR lpCookieData, LPDWORD lpdwSize)
{
DWORD len;
- LPWSTR szCookieData = NULL, szUrl = NULL, szCookieName = NULL;
+ LPWSTR szCookieData = NULL, url, name;
BOOL r;
TRACE("(%s,%s,%p)\n", debugstr_a(lpszUrl), debugstr_a(lpszCookieName),
lpCookieData);
- if( lpszUrl )
- {
- len = MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, NULL, 0 );
- szUrl = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
- MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, szUrl, len );
- }
-
- if( lpszCookieName )
- {
- len = MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, NULL, 0 );
- szCookieName = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
- MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, szCookieName, len );
- }
+ url = heap_strdupAtoW(lpszUrl);
+ name = heap_strdupAtoW(lpszCookieName);
- r = InternetGetCookieW( szUrl, szCookieName, NULL, &len );
+ r = InternetGetCookieW( url, name, NULL, &len );
if( r )
{
szCookieData = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
@@ -428,7 +399,7 @@ BOOL WINAPI InternetGetCookieA(LPCSTR lpszUrl, LPCSTR lpszCookieName,
}
else
{
- r = InternetGetCookieW( szUrl, szCookieName, szCookieData, &len );
+ r = InternetGetCookieW( url, name, szCookieData, &len );
*lpdwSize = WideCharToMultiByte( CP_ACP, 0, szCookieData, len,
lpCookieData, *lpdwSize, NULL, NULL );
@@ -436,8 +407,8 @@ BOOL WINAPI InternetGetCookieA(LPCSTR lpszUrl, LPCSTR lpszCookieName,
}
HeapFree( GetProcessHeap(), 0, szCookieData );
- HeapFree( GetProcessHeap(), 0, szCookieName );
- HeapFree( GetProcessHeap(), 0, szUrl );
+ HeapFree( GetProcessHeap(), 0, name );
+ HeapFree( GetProcessHeap(), 0, url );
return r;
}
@@ -452,14 +423,13 @@ static BOOL set_cookie(LPCWSTR domain, LPCWSTR path, LPCWSTR cookie_name, LPCWST
FILETIME expiry;
BOOL expired = FALSE;
- value = data = HeapAlloc(GetProcessHeap(), 0, (strlenW(cookie_data) + 1) * sizeof(WCHAR));
- if (data == NULL)
+ value = data = heap_strdupW(cookie_data);
+ if (!data)
{
ERR("could not allocate %zu bytes for the cookie data buffer\n", (strlenW(cookie_data) + 1) * sizeof(WCHAR));
return FALSE;
}
- strcpyW(data,cookie_data);
memset(&expiry,0,sizeof(expiry));
/* lots of information can be parsed out of the cookie value */
@@ -605,21 +575,19 @@ BOOL WINAPI InternetSetCookieW(LPCWSTR lpszUrl, LPCWSTR lpszCookieName,
if (!lpszCookieName)
{
- unsigned int len;
WCHAR *cookie, *data;
- len = strlenW(lpCookieData);
- if (!(cookie = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR))))
+ cookie = heap_strdupW(lpCookieData);
+ if (!cookie)
{
SetLastError(ERROR_OUTOFMEMORY);
return FALSE;
}
- strcpyW(cookie, lpCookieData);
/* some apps (or is it us??) try to add a cookie with no cookie name, but
* the cookie data in the form of name[=data].
*/
- if (!(data = strchrW(cookie, '='))) data = cookie + len;
+ if (!(data = strchrW(cookie, '='))) data = cookie + strlenW(cookie);
else *data++ = 0;
ret = set_cookie(hostName, path, cookie, data);
@@ -644,39 +612,21 @@ BOOL WINAPI InternetSetCookieW(LPCWSTR lpszUrl, LPCWSTR lpszCookieName,
BOOL WINAPI InternetSetCookieA(LPCSTR lpszUrl, LPCSTR lpszCookieName,
LPCSTR lpCookieData)
{
- DWORD len;
- LPWSTR szCookieData = NULL, szUrl = NULL, szCookieName = NULL;
+ LPWSTR data, url, name;
BOOL r;
TRACE("(%s,%s,%s)\n", debugstr_a(lpszUrl),
debugstr_a(lpszCookieName), debugstr_a(lpCookieData));
- if( lpszUrl )
- {
- len = MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, NULL, 0 );
- szUrl = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
- MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, szUrl, len );
- }
+ url = heap_strdupAtoW(lpszUrl);
+ name = heap_strdupAtoW(lpszCookieName);
+ data = heap_strdupAtoW(lpCookieData);
- if( lpszCookieName )
- {
- len = MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, NULL, 0 );
- szCookieName = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
- MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, szCookieName, len );
- }
+ r = InternetSetCookieW( url, name, data );
- if( lpCookieData )
- {
- len = MultiByteToWideChar( CP_ACP, 0, lpCookieData, -1, NULL, 0 );
- szCookieData = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
- MultiByteToWideChar( CP_ACP, 0, lpCookieData, -1, szCookieData, len );
- }
-
- r = InternetSetCookieW( szUrl, szCookieName, szCookieData );
-
- HeapFree( GetProcessHeap(), 0, szCookieData );
- HeapFree( GetProcessHeap(), 0, szCookieName );
- HeapFree( GetProcessHeap(), 0, szUrl );
+ HeapFree( GetProcessHeap(), 0, data );
+ HeapFree( GetProcessHeap(), 0, name );
+ HeapFree( GetProcessHeap(), 0, url );
return r;
}
More information about the wine-cvs
mailing list