The big win here is getting rid of the reimplementation of wcsdup.
From: Alex Henrie alexhenrie24@gmail.com
The big win here is getting rid of the reimplementation of wcsdup. --- dlls/httpapi/httpapi_main.c | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-)
diff --git a/dlls/httpapi/httpapi_main.c b/dlls/httpapi/httpapi_main.c index a5f8007b0a9..964589021d6 100644 --- a/dlls/httpapi/httpapi_main.c +++ b/dlls/httpapi/httpapi_main.c @@ -22,19 +22,10 @@ #include "winsvc.h" #include "winternl.h" #include "wine/debug.h" -#include "wine/heap.h" #include "wine/list.h"
WINE_DEFAULT_DEBUG_CHANNEL(http);
-static WCHAR *heap_strdupW(const WCHAR *str) -{ - int len = wcslen(str) + 1; - WCHAR *ret = heap_alloc(len * sizeof(WCHAR)); - wcscpy(ret, str); - return ret; -} - /*********************************************************************** * HttpInitialize (HTTPAPI.@) * @@ -216,7 +207,7 @@ static ULONG add_url(HANDLE queue, const WCHAR *urlW, HTTP_URL_CONTEXT context) int len;
len = WideCharToMultiByte(CP_ACP, 0, urlW, -1, NULL, 0, NULL, NULL); - if (!(params = heap_alloc(offsetof(struct http_add_url_params, url[len])))) + if (!(params = malloc(offsetof(struct http_add_url_params, url[len])))) return ERROR_OUTOFMEMORY; WideCharToMultiByte(CP_ACP, 0, urlW, -1, params->url, len, NULL, NULL); params->context = context; @@ -227,7 +218,7 @@ static ULONG add_url(HANDLE queue, const WCHAR *urlW, HTTP_URL_CONTEXT context) offsetof(struct http_add_url_params, url[len]), NULL, 0, NULL, &ovl)) ret = GetLastError(); CloseHandle(ovl.hEvent); - heap_free(params); + free(params); return ret; }
@@ -249,7 +240,7 @@ static ULONG remove_url(HANDLE queue, const WCHAR *urlW) int len;
len = WideCharToMultiByte(CP_ACP, 0, urlW, -1, NULL, 0, NULL, NULL); - if (!(url = heap_alloc(len))) + if (!(url = malloc(len))) return ERROR_OUTOFMEMORY; WideCharToMultiByte(CP_ACP, 0, urlW, -1, url, len, NULL, NULL);
@@ -258,7 +249,7 @@ static ULONG remove_url(HANDLE queue, const WCHAR *urlW) if (!DeviceIoControl(queue, IOCTL_HTTP_REMOVE_URL, url, len, NULL, 0, NULL, &ovl)) ret = GetLastError(); CloseHandle(ovl.hEvent); - heap_free(url); + free(url); return ret; }
@@ -470,7 +461,7 @@ ULONG WINAPI HttpSendHttpResponse(HANDLE queue, HTTP_REQUEST_ID id, ULONG flags, } len += 2;
- if (!(buffer = heap_alloc(offsetof(struct http_response, buffer[len])))) + if (!(buffer = malloc(offsetof(struct http_response, buffer[len])))) return ERROR_OUTOFMEMORY; buffer->id = id; buffer->len = len; @@ -512,7 +503,7 @@ ULONG WINAPI HttpSendHttpResponse(HANDLE queue, HTTP_REQUEST_ID id, ULONG flags, offsetof(struct http_response, buffer[len]), NULL, 0, NULL, ovl)) ret = GetLastError();
- heap_free(buffer); + free(buffer); return ret; }
@@ -573,7 +564,7 @@ ULONG WINAPI HttpCreateServerSession(HTTPAPI_VERSION version, HTTP_SERVER_SESSIO || version.HttpApiMinorVersion) return ERROR_REVISION_MISMATCH;
- if (!(session = heap_alloc(sizeof(*session)))) + if (!(session = malloc(sizeof(*session)))) return ERROR_OUTOFMEMORY;
list_add_tail(&server_sessions, &session->entry); @@ -601,7 +592,7 @@ ULONG WINAPI HttpCloseServerSession(HTTP_SERVER_SESSION_ID id) HttpCloseUrlGroup((ULONG_PTR)group); } list_remove(&session->entry); - heap_free(session); + free(session); return ERROR_SUCCESS; }
@@ -619,7 +610,7 @@ ULONG WINAPI HttpCreateUrlGroup(HTTP_SERVER_SESSION_ID session_id, HTTP_URL_GROU if (!(session = get_server_session(session_id))) return ERROR_INVALID_PARAMETER;
- if (!(group = heap_alloc_zero(sizeof(*group)))) + if (!(group = calloc(1, sizeof(*group)))) return ERROR_OUTOFMEMORY; list_add_tail(&url_groups, &group->entry); list_add_tail(&session->groups, &group->session_entry); @@ -643,7 +634,7 @@ ULONG WINAPI HttpCloseUrlGroup(HTTP_URL_GROUP_ID id)
list_remove(&group->session_entry); list_remove(&group->entry); - heap_free(group); + free(group);
return ERROR_SUCCESS; } @@ -704,7 +695,7 @@ ULONG WINAPI HttpAddUrlToUrlGroup(HTTP_URL_GROUP_ID id, const WCHAR *url, return ret; }
- if (!(group->url = heap_strdupW(url))) + if (!(group->url = wcsdup(url))) return ERROR_OUTOFMEMORY; group->context = context;
@@ -726,7 +717,7 @@ ULONG WINAPI HttpRemoveUrlFromUrlGroup(HTTP_URL_GROUP_ID id, const WCHAR *url, U if (flags) FIXME("Ignoring flags %#lx.\n", flags);
- heap_free(group->url); + free(group->url); group->url = NULL;
if (group->queue)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=126216
Your paranoid android.
=== debian11 (32 bit report) ===
ole32: clipboard.c:1067: Test failed: OleIsCurrentClipboard returned 0 clipboard.c:1135: Test failed: 1 WM_DRAWCLIPBOARD received
This merge request was approved by Zebediah Figura.