From: Alex Henrie alexhenrie24@gmail.com
The big win here is getting rid of the reimplementation of wcsdup. --- dlls/comdlg32/printdlg.c | 196 ++++++++++++++++++--------------------- 1 file changed, 91 insertions(+), 105 deletions(-)
diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c index a466687dca3..5925ef64a20 100644 --- a/dlls/comdlg32/printdlg.c +++ b/dlls/comdlg32/printdlg.c @@ -145,18 +145,6 @@ static const WCHAR printdlg_prop[] = L"__WINE_PRINTDLGDATA"; static const WCHAR pagesetupdlg_prop[] = L"__WINE_PAGESETUPDLGDATA";
-static LPWSTR strdupW(LPCWSTR p) -{ - LPWSTR ret; - DWORD len; - - if(!p) return NULL; - len = (lstrlenW(p) + 1) * sizeof(WCHAR); - ret = HeapAlloc(GetProcessHeap(), 0, len); - memcpy(ret, p, len); - return ret; -} - /*********************************************************************** * get_driver_info [internal] * @@ -171,7 +159,7 @@ static DRIVER_INFO_3W * get_driver_infoW(HANDLE hprn)
res = GetPrinterDriverW(hprn, NULL, 3, NULL, 0, &needed); if (!res && (GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { - di3 = HeapAlloc(GetProcessHeap(), 0, needed); + di3 = malloc(needed); res = GetPrinterDriverW(hprn, NULL, 3, (LPBYTE)di3, needed, &needed); }
@@ -179,7 +167,7 @@ static DRIVER_INFO_3W * get_driver_infoW(HANDLE hprn) return di3;
TRACE("GetPrinterDriverW failed with %lu\n", GetLastError()); - HeapFree(GetProcessHeap(), 0, di3); + free(di3); return NULL; }
@@ -191,7 +179,7 @@ static DRIVER_INFO_3A * get_driver_infoA(HANDLE hprn)
res = GetPrinterDriverA(hprn, NULL, 3, NULL, 0, &needed); if (!res && (GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { - di3 = HeapAlloc(GetProcessHeap(), 0, needed); + di3 = malloc(needed); res = GetPrinterDriverA(hprn, NULL, 3, (LPBYTE)di3, needed, &needed); }
@@ -199,7 +187,7 @@ static DRIVER_INFO_3A * get_driver_infoA(HANDLE hprn) return di3;
TRACE("GetPrinterDriverA failed with %lu\n", GetLastError()); - HeapFree(GetProcessHeap(), 0, di3); + free(di3); return NULL; }
@@ -218,7 +206,7 @@ static PRINTER_INFO_2W * get_printer_infoW(HANDLE hprn)
res = GetPrinterW(hprn, 2, NULL, 0, &needed); if (!res && (GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { - pi2 = HeapAlloc(GetProcessHeap(), 0, needed); + pi2 = malloc(needed); res = GetPrinterW(hprn, 2, (LPBYTE)pi2, needed, &needed); }
@@ -226,7 +214,7 @@ static PRINTER_INFO_2W * get_printer_infoW(HANDLE hprn) return pi2;
TRACE("GetPrinterW failed with %lu\n", GetLastError()); - HeapFree(GetProcessHeap(), 0, pi2); + free(pi2); return NULL; }
@@ -238,7 +226,7 @@ static PRINTER_INFO_2A * get_printer_infoA(HANDLE hprn)
res = GetPrinterA(hprn, 2, NULL, 0, &needed); if (!res && (GetLastError() == ERROR_INSUFFICIENT_BUFFER)) { - pi2 = HeapAlloc(GetProcessHeap(), 0, needed); + pi2 = malloc(needed); res = GetPrinterA(hprn, 2, (LPBYTE)pi2, needed, &needed); }
@@ -246,7 +234,7 @@ static PRINTER_INFO_2A * get_printer_infoA(HANDLE hprn) return pi2;
TRACE("GetPrinterA failed with %lu\n", GetLastError()); - HeapFree(GetProcessHeap(), 0, pi2); + free(pi2); return NULL; }
@@ -326,7 +314,7 @@ static DEVMODEA *convert_to_devmodeA(const DEVMODEW *dmW) size = dmW->dmSize - CCHDEVICENAME - ((dmW->dmSize > FIELD_OFFSET(DEVMODEW, dmFormName)) ? CCHFORMNAME : 0);
- dmA = HeapAlloc(GetProcessHeap(), 0, size + dmW->dmDriverExtra); + dmA = malloc(size + dmW->dmDriverExtra); if (!dmA) return NULL;
WideCharToMultiByte(CP_ACP, 0, dmW->dmDeviceName, -1, @@ -392,7 +380,7 @@ static INT PRINTDLG_SetUpPrinterListComboA(HWND hDlg, UINT id, LPCSTR name) INT i; LPPRINTER_INFO_2A pi; EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &needed, &num); - pi = HeapAlloc(GetProcessHeap(), 0, needed); + pi = malloc(needed); EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 2, (LPBYTE)pi, needed, &needed, &num);
@@ -402,7 +390,7 @@ static INT PRINTDLG_SetUpPrinterListComboA(HWND hDlg, UINT id, LPCSTR name) SendDlgItemMessageA(hDlg, id, CB_ADDSTRING, 0, (LPARAM)pi[i].pPrinterName ); } - HeapFree(GetProcessHeap(), 0, pi); + free(pi); if(!name || (i = SendDlgItemMessageA(hDlg, id, CB_FINDSTRINGEXACT, -1, (LPARAM)name)) == CB_ERR) { @@ -428,7 +416,7 @@ static INT PRINTDLG_SetUpPrinterListComboW(HWND hDlg, UINT id, LPCWSTR name) INT i; LPPRINTER_INFO_2W pi; EnumPrintersW(PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &needed, &num); - pi = HeapAlloc(GetProcessHeap(), 0, needed); + pi = malloc(needed); EnumPrintersW(PRINTER_ENUM_LOCAL, NULL, 2, (LPBYTE)pi, needed, &needed, &num);
@@ -436,7 +424,7 @@ static INT PRINTDLG_SetUpPrinterListComboW(HWND hDlg, UINT id, LPCWSTR name) SendDlgItemMessageW(hDlg, id, CB_ADDSTRING, 0, (LPARAM)pi[i].pPrinterName ); } - HeapFree(GetProcessHeap(), 0, pi); + free(pi); if(!name || (i = SendDlgItemMessageW(hDlg, id, CB_FINDSTRINGEXACT, -1, (LPARAM)name)) == CB_ERR) { @@ -830,8 +818,8 @@ static BOOL PRINTDLG_SetUpPaperComboBoxA(HWND hDlg, NrOfEntries = 0; }
- Names = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(char)*NamesSize); - Words = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(WORD)); + Names = malloc(NrOfEntries * sizeof(char) * NamesSize); + Words = malloc(NrOfEntries * sizeof(WORD)); DeviceCapabilitiesA(PrinterName, PortName, fwCapability_Names, Names, dm); NrOfEntries = DeviceCapabilitiesA(PrinterName, PortName, fwCapability_Words, (LPSTR)Words, dm); @@ -875,8 +863,8 @@ static BOOL PRINTDLG_SetUpPaperComboBoxA(HWND hDlg,
SendDlgItemMessageA(hDlg, nIDComboBox, CB_SETCURSEL, Sel, 0);
- HeapFree(GetProcessHeap(),0,Words); - HeapFree(GetProcessHeap(),0,Names); + free(Words); + free(Names); return TRUE; }
@@ -940,8 +928,8 @@ static BOOL PRINTDLG_SetUpPaperComboBoxW(HWND hDlg, NrOfEntries = 0; }
- Names = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(WCHAR)*NamesSize); - Words = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(WORD)); + Names = malloc(NrOfEntries * sizeof(WCHAR) * NamesSize); + Words = malloc(NrOfEntries * sizeof(WORD)); DeviceCapabilitiesW(PrinterName, PortName, fwCapability_Names, Names, dm); NrOfEntries = DeviceCapabilitiesW(PrinterName, PortName, fwCapability_Words, Words, dm); @@ -985,8 +973,8 @@ static BOOL PRINTDLG_SetUpPaperComboBoxW(HWND hDlg,
SendDlgItemMessageW(hDlg, nIDComboBox, CB_SETCURSEL, Sel, 0);
- HeapFree(GetProcessHeap(),0,Words); - HeapFree(GetProcessHeap(),0,Names); + free(Words); + free(Names); return TRUE; }
@@ -1078,18 +1066,18 @@ static BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name, PRINT_PTRA *PrintStru DWORD needed; HANDLE hprn;
- HeapFree(GetProcessHeap(),0, PrintStructures->lpPrinterInfo); - HeapFree(GetProcessHeap(),0, PrintStructures->lpDriverInfo); + free(PrintStructures->lpPrinterInfo); + free(PrintStructures->lpDriverInfo); if(!OpenPrinterA(name, &hprn, NULL)) { ERR("Can't open printer %s\n", name); return FALSE; } GetPrinterA(hprn, 2, NULL, 0, &needed); - PrintStructures->lpPrinterInfo = HeapAlloc(GetProcessHeap(),0,needed); + PrintStructures->lpPrinterInfo = malloc(needed); GetPrinterA(hprn, 2, (LPBYTE)PrintStructures->lpPrinterInfo, needed, &needed); GetPrinterDriverA(hprn, NULL, 3, NULL, 0, &needed); - PrintStructures->lpDriverInfo = HeapAlloc(GetProcessHeap(),0,needed); + PrintStructures->lpDriverInfo = malloc(needed); if (!GetPrinterDriverA(hprn, NULL, 3, (LPBYTE)PrintStructures->lpDriverInfo, needed, &needed)) { ERR("GetPrinterDriverA failed for %s, fix your config!\n",PrintStructures->lpPrinterInfo->pPrinterName); @@ -1099,7 +1087,7 @@ static BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name, PRINT_PTRA *PrintStru
PRINTDLG_UpdatePrinterInfoTextsA(hDlg, PrintStructures->lpPrinterInfo);
- HeapFree(GetProcessHeap(), 0, PrintStructures->lpDevMode); + free(PrintStructures->lpDevMode); PrintStructures->lpDevMode = NULL;
dmSize = DocumentPropertiesA(0, 0, name, NULL, NULL, 0); @@ -1107,7 +1095,7 @@ static BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name, PRINT_PTRA *PrintStru ERR("DocumentProperties fails on %s\n", debugstr_a(name)); return FALSE; } - PrintStructures->lpDevMode = HeapAlloc(GetProcessHeap(), 0, dmSize); + PrintStructures->lpDevMode = malloc(dmSize); dmSize = DocumentPropertiesA(0, 0, name, PrintStructures->lpDevMode, NULL, DM_OUT_BUFFER); if(lppd->hDevMode && (lpdm = GlobalLock(lppd->hDevMode)) && @@ -1213,7 +1201,7 @@ static BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name, PRINT_PTRA *PrintStru PrintStructures->lpPrinterInfo->pPrinterName, 0, lpdm);
- Resolutions = HeapAlloc(GetProcessHeap(), 0, numResolutions*sizeof(LONG)*2); + Resolutions = malloc(numResolutions * sizeof(LONG) * 2); DeviceCapabilitiesA(PrintStructures->lpPrinterInfo->pPrinterName, PrintStructures->lpPrinterInfo->pPortName, DC_ENUMRESOLUTIONS, (LPSTR)Resolutions, lpdm); @@ -1247,7 +1235,7 @@ static BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name, PRINT_PTRA *PrintStru
SendMessageA(hQuality, CB_SETITEMDATA, Index, MAKELONG(dpiX,dpiY)); } - HeapFree(GetProcessHeap(), 0, Resolutions); + free(Resolutions); } } } else { /* PD_PRINTSETUP */ @@ -1285,18 +1273,18 @@ static BOOL PRINTDLG_ChangePrinterW(HWND hDlg, WCHAR *name, DWORD needed; HANDLE hprn;
- HeapFree(GetProcessHeap(),0, PrintStructures->lpPrinterInfo); - HeapFree(GetProcessHeap(),0, PrintStructures->lpDriverInfo); + free(PrintStructures->lpPrinterInfo); + free(PrintStructures->lpDriverInfo); if(!OpenPrinterW(name, &hprn, NULL)) { ERR("Can't open printer %s\n", debugstr_w(name)); return FALSE; } GetPrinterW(hprn, 2, NULL, 0, &needed); - PrintStructures->lpPrinterInfo = HeapAlloc(GetProcessHeap(),0,needed); + PrintStructures->lpPrinterInfo = malloc(needed); GetPrinterW(hprn, 2, (LPBYTE)PrintStructures->lpPrinterInfo, needed, &needed); GetPrinterDriverW(hprn, NULL, 3, NULL, 0, &needed); - PrintStructures->lpDriverInfo = HeapAlloc(GetProcessHeap(),0,needed); + PrintStructures->lpDriverInfo = malloc(needed); if (!GetPrinterDriverW(hprn, NULL, 3, (LPBYTE)PrintStructures->lpDriverInfo, needed, &needed)) { ERR("GetPrinterDriverA failed for %s, fix your config!\n",debugstr_w(PrintStructures->lpPrinterInfo->pPrinterName)); @@ -1306,7 +1294,7 @@ static BOOL PRINTDLG_ChangePrinterW(HWND hDlg, WCHAR *name,
PRINTDLG_UpdatePrinterInfoTextsW(hDlg, PrintStructures->lpPrinterInfo);
- HeapFree(GetProcessHeap(), 0, PrintStructures->lpDevMode); + free(PrintStructures->lpDevMode); PrintStructures->lpDevMode = NULL;
dmSize = DocumentPropertiesW(0, 0, name, NULL, NULL, 0); @@ -1314,7 +1302,7 @@ static BOOL PRINTDLG_ChangePrinterW(HWND hDlg, WCHAR *name, ERR("DocumentProperties fails on %s\n", debugstr_w(name)); return FALSE; } - PrintStructures->lpDevMode = HeapAlloc(GetProcessHeap(), 0, dmSize); + PrintStructures->lpDevMode = malloc(dmSize); dmSize = DocumentPropertiesW(0, 0, name, PrintStructures->lpDevMode, NULL, DM_OUT_BUFFER); if(lppd->hDevMode && (lpdm = GlobalLock(lppd->hDevMode)) && @@ -1545,10 +1533,10 @@ static LRESULT PRINTDLG_WMInitDialog(HWND hDlg, if(pdn) GlobalUnlock(lppd->hDevNames);
/* Now find selected printer and update rest of dlg */ - name = HeapAlloc(GetProcessHeap(),0,256); + name = malloc(256); if (GetDlgItemTextA(hDlg, comboID, name, 255)) PRINTDLG_ChangePrinterA(hDlg, name, PrintStructures); - HeapFree(GetProcessHeap(),0,name); + free(name); } else { /* else use default printer */ char name[200]; @@ -1654,10 +1642,10 @@ static LRESULT PRINTDLG_WMInitDialogW(HWND hDlg,
/* Now find selected printer and update rest of dlg */ /* ansi is ok here */ - name = HeapAlloc(GetProcessHeap(),0,256*sizeof(WCHAR)); + name = malloc(256 * sizeof(WCHAR)); if (GetDlgItemTextW(hDlg, comboID, name, 255)) PRINTDLG_ChangePrinterW(hDlg, name, PrintStructures); - HeapFree(GetProcessHeap(),0,name); + free(name); } else { /* else use default printer */ WCHAR name[200]; @@ -1779,10 +1767,10 @@ static LRESULT PRINTDLG_WMCommandA(HWND hDlg, WPARAM wParam, char *PrinterName; INT index = SendDlgItemMessageW(hDlg, LOWORD(wParam), CB_GETCURSEL, 0, 0); INT length = SendDlgItemMessageW(hDlg, LOWORD(wParam), CB_GETLBTEXTLEN, index, 0); - PrinterName = HeapAlloc(GetProcessHeap(),0,length+1); + PrinterName = malloc(length + 1); SendDlgItemMessageA(hDlg, LOWORD(wParam), CB_GETLBTEXT, index, (LPARAM)PrinterName); PRINTDLG_ChangePrinterA(hDlg, PrinterName, PrintStructures); - HeapFree(GetProcessHeap(),0,PrinterName); + free(PrinterName); } break;
@@ -1937,10 +1925,10 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam, INT index = SendDlgItemMessageW(hDlg, LOWORD(wParam), CB_GETCURSEL, 0, 0); INT length = SendDlgItemMessageW(hDlg, LOWORD(wParam), CB_GETLBTEXTLEN, index, 0);
- PrinterName = HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(length+1)); + PrinterName = malloc(sizeof(WCHAR) * (length + 1)); SendDlgItemMessageW(hDlg, LOWORD(wParam), CB_GETLBTEXT, index, (LPARAM)PrinterName); PRINTDLG_ChangePrinterW(hDlg, PrinterName, PrintStructures); - HeapFree(GetProcessHeap(),0,PrinterName); + free(PrinterName); } break;
@@ -2279,16 +2267,16 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA lppd) }
GetPrinterA(hprn, 2, NULL, 0, &needed); - pbuf = HeapAlloc(GetProcessHeap(), 0, needed); + pbuf = malloc(needed); GetPrinterA(hprn, 2, (LPBYTE)pbuf, needed, &needed);
GetPrinterDriverA(hprn, NULL, 3, NULL, 0, &needed); - dbuf = HeapAlloc(GetProcessHeap(),0,needed); + dbuf = malloc(needed); if (!GetPrinterDriverA(hprn, NULL, 3, (LPBYTE)dbuf, needed, &needed)) { ERR("GetPrinterDriverA failed, le %ld, fix your config for printer %s!\n", GetLastError(),pbuf->pPrinterName); - HeapFree(GetProcessHeap(), 0, dbuf); - HeapFree(GetProcessHeap(), 0, pbuf); + free(dbuf); + free(pbuf); COMDLG32_SetCommDlgExtendedError(PDERR_RETDEFFAILURE); return FALSE; } @@ -2304,8 +2292,8 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA lppd) memcpy(ptr, pbuf->pDevMode, pbuf->pDevMode->dmSize + pbuf->pDevMode->dmDriverExtra); GlobalUnlock(lppd->hDevMode); - HeapFree(GetProcessHeap(), 0, pbuf); - HeapFree(GetProcessHeap(), 0, dbuf); + free(pbuf); + free(dbuf); bRet = TRUE; } else { HGLOBAL hDlgTmpl; @@ -2325,8 +2313,7 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA lppd) return FALSE; }
- PrintStructures = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - sizeof(PRINT_PTRA)); + PrintStructures = calloc(1, sizeof(PRINT_PTRA)); PrintStructures->lpPrintDlg = lppd;
/* and create & process the dialog . @@ -2362,10 +2349,10 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA lppd) ); GlobalUnlock(lppd->hDevMode); } - HeapFree(GetProcessHeap(), 0, PrintStructures->lpDevMode); - HeapFree(GetProcessHeap(), 0, PrintStructures->lpPrinterInfo); - HeapFree(GetProcessHeap(), 0, PrintStructures->lpDriverInfo); - HeapFree(GetProcessHeap(), 0, PrintStructures); + free(PrintStructures->lpDevMode); + free(PrintStructures->lpPrinterInfo); + free(PrintStructures->lpDriverInfo); + free(PrintStructures); } if(bRet && (lppd->Flags & PD_RETURNDC || lppd->Flags & PD_RETURNIC)) bRet = PRINTDLG_CreateDCA(lppd); @@ -2430,16 +2417,16 @@ BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd) }
GetPrinterW(hprn, 2, NULL, 0, &needed); - pbuf = HeapAlloc(GetProcessHeap(), 0, needed); + pbuf = malloc(needed); GetPrinterW(hprn, 2, (LPBYTE)pbuf, needed, &needed);
GetPrinterDriverW(hprn, NULL, 3, NULL, 0, &needed); - dbuf = HeapAlloc(GetProcessHeap(),0,needed); + dbuf = malloc(needed); if (!GetPrinterDriverW(hprn, NULL, 3, (LPBYTE)dbuf, needed, &needed)) { ERR("GetPrinterDriverA failed, le %ld, fix your config for printer %s!\n", GetLastError(),debugstr_w(pbuf->pPrinterName)); - HeapFree(GetProcessHeap(), 0, dbuf); - HeapFree(GetProcessHeap(), 0, pbuf); + free(dbuf); + free(pbuf); COMDLG32_SetCommDlgExtendedError(PDERR_RETDEFFAILURE); return FALSE; } @@ -2455,8 +2442,8 @@ BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd) memcpy(ptr, pbuf->pDevMode, pbuf->pDevMode->dmSize + pbuf->pDevMode->dmDriverExtra); GlobalUnlock(lppd->hDevMode); - HeapFree(GetProcessHeap(), 0, pbuf); - HeapFree(GetProcessHeap(), 0, dbuf); + free(pbuf); + free(dbuf); bRet = TRUE; } else { HGLOBAL hDlgTmpl; @@ -2476,8 +2463,7 @@ BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd) return FALSE; }
- PrintStructures = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - sizeof(PRINT_PTRW)); + PrintStructures = calloc(1, sizeof(PRINT_PTRW)); PrintStructures->lpPrintDlg = lppd;
/* and create & process the dialog . @@ -2529,10 +2515,10 @@ BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd) ); GlobalUnlock(lppd->hDevMode); } - HeapFree(GetProcessHeap(), 0, PrintStructures->lpDevMode); - HeapFree(GetProcessHeap(), 0, PrintStructures->lpPrinterInfo); - HeapFree(GetProcessHeap(), 0, PrintStructures->lpDriverInfo); - HeapFree(GetProcessHeap(), 0, PrintStructures); + free(PrintStructures->lpDevMode); + free(PrintStructures->lpPrinterInfo); + free(PrintStructures->lpDriverInfo); + free(PrintStructures); } if(bRet && (lppd->Flags & PD_RETURNDC || lppd->Flags & PD_RETURNIC)) bRet = PRINTDLG_CreateDCW(lppd); @@ -2766,11 +2752,11 @@ static WCHAR *pagesetup_get_a_devname(const pagesetup_data *data, devnames_name
dn = GlobalLock(data->u.dlgw->hDevNames); if(data->unicode) - name = strdupW((WCHAR *)dn + get_devname_offset(dn, which)); + name = wcsdup((WCHAR *)dn + get_devname_offset(dn, which)); else { int len = MultiByteToWideChar(CP_ACP, 0, (char*)dn + get_devname_offset(dn, which), -1, NULL, 0); - name = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + name = malloc(len * sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, (char*)dn + get_devname_offset(dn, which), -1, name, len); } GlobalUnlock(data->u.dlgw->hDevNames); @@ -2794,7 +2780,7 @@ static WCHAR *pagesetup_get_portname(const pagesetup_data *data)
static void pagesetup_release_a_devname(const pagesetup_data *data, WCHAR *name) { - HeapFree(GetProcessHeap(), 0, name); + free(name); }
static void pagesetup_set_devnames(pagesetup_data *data, LPCWSTR drv, LPCWSTR devname, LPCWSTR port) @@ -2873,7 +2859,7 @@ static DEVMODEW *pagesetup_get_devmode(const pagesetup_data *data) { /* We make a copy even in the unicode case because the ptr may get passed back to us in pagesetup_set_devmode. */ - ret = HeapAlloc(GetProcessHeap(), 0, dm->dmSize + dm->dmDriverExtra); + ret = malloc(dm->dmSize + dm->dmDriverExtra); memcpy(ret, dm, dm->dmSize + dm->dmDriverExtra); } else @@ -2885,7 +2871,7 @@ static DEVMODEW *pagesetup_get_devmode(const pagesetup_data *data)
static void pagesetup_release_devmode(const pagesetup_data *data, DEVMODEW *dm) { - HeapFree(GetProcessHeap(), 0, dm); + free(dm); }
static void pagesetup_set_devmode(pagesetup_data *data, DEVMODEW *dm) @@ -2915,7 +2901,7 @@ static void pagesetup_set_devmode(pagesetup_data *data, DEVMODEW *dm) dst = GlobalLock(data->u.dlgw->hDevMode); memcpy(dst, src, size); GlobalUnlock(data->u.dlgw->hDevMode); - HeapFree(GetProcessHeap(), 0, dmA); + free(dmA); }
static inline POINT *pagesetup_get_papersize_pt(const pagesetup_data *data) @@ -2978,8 +2964,8 @@ static BOOL pagesetup_update_papersize(pagesetup_data *data) goto end; }
- words = HeapAlloc(GetProcessHeap(), 0, num * sizeof(WORD)); - points = HeapAlloc(GetProcessHeap(), 0, num * sizeof(POINT)); + words = malloc(num * sizeof(WORD)); + points = malloc(num * sizeof(POINT));
if (num != DeviceCapabilitiesW(devname, portname, DC_PAPERS, (LPWSTR)words, dm)) { @@ -3015,8 +3001,8 @@ static BOOL pagesetup_update_papersize(pagesetup_data *data) retval = TRUE;
end: - HeapFree(GetProcessHeap(), 0, words); - HeapFree(GetProcessHeap(), 0, points); + free(words); + free(points); pagesetup_release_a_devname(data, portname); pagesetup_release_a_devname(data, devname); pagesetup_release_devmode(data, dm); @@ -3046,10 +3032,10 @@ static BOOL pagesetup_change_printer(LPWSTR name, pagesetup_data *data) }
GetPrinterW(hprn, 2, NULL, 0, &needed); - prn_info = HeapAlloc(GetProcessHeap(), 0, needed); + prn_info = malloc(needed); GetPrinterW(hprn, 2, (LPBYTE)prn_info, needed, &needed); GetPrinterDriverW(hprn, NULL, 3, NULL, 0, &needed); - drv_info = HeapAlloc(GetProcessHeap(), 0, needed); + drv_info = malloc(needed); if(!GetPrinterDriverW(hprn, NULL, 3, (LPBYTE)drv_info, needed, &needed)) { ERR("GetPrinterDriverA failed for %s, fix your config!\n", debugstr_w(prn_info->pPrinterName)); @@ -3064,7 +3050,7 @@ static BOOL pagesetup_change_printer(LPWSTR name, pagesetup_data *data) goto end; }
- dm = HeapAlloc(GetProcessHeap(), 0, needed); + dm = malloc(needed); DocumentPropertiesW(0, 0, name, dm, NULL, DM_OUT_BUFFER);
pagesetup_set_devmode(data, dm); @@ -3073,9 +3059,9 @@ static BOOL pagesetup_change_printer(LPWSTR name, pagesetup_data *data)
retval = TRUE; end: - HeapFree(GetProcessHeap(), 0, dm); - HeapFree(GetProcessHeap(), 0, prn_info); - HeapFree(GetProcessHeap(), 0, drv_info); + free(dm); + free(prn_info); + free(drv_info); return retval; }
@@ -3381,11 +3367,11 @@ static BOOL pagesetup_wm_command(HWND hDlg, WPARAM wParam, LPARAM lParam, pagese WCHAR *name; INT index = SendDlgItemMessageW(hDlg, id, CB_GETCURSEL, 0, 0); INT length = SendDlgItemMessageW(hDlg, id, CB_GETLBTEXTLEN, index, 0); - name = HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(length+1)); + name = malloc(sizeof(WCHAR) * (length + 1)); SendDlgItemMessageW(hDlg, id, CB_GETLBTEXT, index, (LPARAM)name); pagesetup_change_printer(name, data); pagesetup_init_combos(hDlg, data); - HeapFree(GetProcessHeap(),0,name); + free(name); } break; case cmb2: /* Paper combo */ @@ -3757,7 +3743,7 @@ static WCHAR *get_default_printer(void) GetDefaultPrinterW(NULL, &len); if(len) { - name = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + name = malloc(len * sizeof(WCHAR)); GetDefaultPrinterW(name, &len); } return name; @@ -3859,7 +3845,7 @@ static BOOL pagesetup_common(pagesetup_data *data) return FALSE; } pagesetup_change_printer(def, data); - HeapFree(GetProcessHeap(), 0, def); + free(def); }
if (pagesetup_get_flags(data) & PSD_RETURNDEFAULT) @@ -4059,7 +4045,7 @@ HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA lppd) dbuf = get_driver_infoA(hprn); if (!dbuf) { - HeapFree(GetProcessHeap(), 0, pbuf); + free(pbuf); COMDLG32_SetCommDlgExtendedError(PDERR_RETDEFFAILURE); ClosePrinter(hprn); return E_FAIL; @@ -4125,8 +4111,8 @@ HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA lppd) else hr = E_FAIL;
- HeapFree(GetProcessHeap(), 0, pbuf); - HeapFree(GetProcessHeap(), 0, dbuf); + free(pbuf); + free(dbuf);
return hr; } @@ -4210,7 +4196,7 @@ HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW lppd) dbuf = get_driver_infoW(hprn); if (!dbuf) { - HeapFree(GetProcessHeap(), 0, pbuf); + free(pbuf); COMDLG32_SetCommDlgExtendedError(PDERR_RETDEFFAILURE); ClosePrinter(hprn); return E_FAIL; @@ -4273,8 +4259,8 @@ HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW lppd) else hr = E_FAIL;
- HeapFree(GetProcessHeap(), 0, pbuf); - HeapFree(GetProcessHeap(), 0, dbuf); + free(pbuf); + free(dbuf);
return hr; }