[PATCH 6/7] winspool: Forward EnumFormsA() to EnumFormsW().
Huw Davies
huw at codeweavers.com
Wed May 19 08:43:12 CDT 2021
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/winspool.drv/info.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index d6b66e86bf6..d6aa60a028f 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -7457,12 +7457,20 @@ BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrin
/******************************************************************************
* EnumFormsA (WINSPOOL.@)
*/
-BOOL WINAPI EnumFormsA( HANDLE hPrinter, DWORD Level, LPBYTE pForm,
- DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned )
+BOOL WINAPI EnumFormsA( HANDLE printer, DWORD level, BYTE *form, DWORD size, DWORD *needed, DWORD *count )
{
- FIXME("%p %x %p %x %p %p\n", hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned);
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return FALSE;
+ const DWORD *string_info = form_string_info( level );
+ BOOL ret;
+ DWORD i;
+
+ if (!string_info) return FALSE;
+
+ ret = EnumFormsW( printer, level, form, size, needed, count );
+ if (ret)
+ for (i = 0; i < *count; i++)
+ packed_struct_WtoA( form + i * string_info[0], string_info );
+
+ return ret;
}
/******************************************************************************
--
2.23.0
More information about the wine-devel
mailing list