wineps.drv: Build with msvcrt.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Alexandre Julliard 2019-07-05 09:24:14 +02:00
parent d5400af782
commit 6887af4f2b
13 changed files with 52 additions and 87 deletions

View File

@ -1,6 +1,8 @@
MODULE = wineps.drv
IMPORTS = user32 gdi32 winspool advapi32
EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
afm.c \
bitblt.c \

View File

@ -21,8 +21,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <string.h>
#include "psdrv.h"

View File

@ -282,7 +282,7 @@ BOOL PSDRV_GetTextMetrics(PHYSDEV dev, TEXTMETRICW *metrics)
* Find the AFMMETRICS for a given UV. Returns first glyph in the font
* (space?) if the font does not have a glyph for the given UV.
*/
static int MetricsByUV(const void *a, const void *b)
static int __cdecl MetricsByUV(const void *a, const void *b)
{
return (int)(((const AFMMETRICS *)a)->UV - ((const AFMMETRICS *)b)->UV);
}

View File

@ -25,8 +25,6 @@
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#include "config.h"
#include <string.h>
#include "wine/debug.h"
@ -283,7 +281,7 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg,
WCHAR buf[256];
res = di->pi->ppd->DefaultResolution;
len = sprintfW(buf, resW, res);
len = swprintf(buf, ARRAY_SIZE(buf), resW, res);
buf[len++] = ' ';
LoadStringW(PSDRV_hInstance, IDS_DPI, buf + len, ARRAY_SIZE(buf) - len);
SendDlgItemMessageW(hwnd, IDD_QUALITY, CB_ADDSTRING, 0, (LPARAM)buf);
@ -313,9 +311,9 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg,
DWORD idx;
if (res->resx == res->resy)
len = sprintfW(buf, resW, res->resx);
len = swprintf(buf, ARRAY_SIZE(buf), resW, res->resx);
else
len = sprintfW(buf, resxyW, res->resx, res->resy);
len = swprintf(buf, ARRAY_SIZE(buf), resxyW, res->resx, res->resy);
buf[len++] = ' ';
LoadStringW(PSDRV_hInstance, IDS_DPI, buf + len, ARRAY_SIZE(buf) - len);
idx = SendDlgItemMessageW(hwnd, IDD_QUALITY, CB_ADDSTRING, 0, (LPARAM)buf);

View File

@ -18,9 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include "wine/port.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
@ -28,9 +25,6 @@
#include <signal.h>
#include <errno.h>
#include <fcntl.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include "windef.h"
#include "winbase.h"

View File

@ -18,18 +18,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#if defined(HAVE_FLOAT_H)
# include <float.h>
#endif
#if !defined(PI)
# define PI M_PI
#endif
#include <float.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
@ -221,8 +214,8 @@ static BOOL PSDRV_DrawArc( PHYSDEV dev, INT left, INT top,
start_angle = atan2((double)(y - start.y) * ratio, (double)(start.x - x));
end_angle = atan2((double)(y - end.y) * ratio, (double)(end.x - x));
start_angle *= 180.0 / PI;
end_angle *= 180.0 / PI;
start_angle *= 180.0 / M_PI;
end_angle *= 180.0 / M_PI;
PSDRV_WriteSpool(dev,"%DrawArc\n", 9);
PSDRV_SetPen(dev);

View File

@ -19,9 +19,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include "wine/port.h"
#include <stdarg.h>
#include <string.h>
@ -36,7 +33,6 @@
#include "winuser.h"
#include "psdrv.h"
#include "winspool.h"
#include "wine/library.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(psdrv);
@ -650,7 +646,7 @@ static WCHAR *get_ppd_filename( HANDLE printer )
if (!info) return NULL;
GetPrinterDriverW( printer, NULL, 2, (BYTE*)info, needed, &needed );
name = (WCHAR *)info;
memmove( name, info->pDataFile, (strlenW( info->pDataFile ) + 1) * sizeof(WCHAR) );
memmove( name, info->pDataFile, (lstrlenW( info->pDataFile ) + 1) * sizeof(WCHAR) );
return name;
}
@ -674,15 +670,15 @@ PRINTERINFO *PSDRV_FindPrinterInfo(LPCWSTR name)
LIST_FOR_EACH_ENTRY( pi, &printer_list, PRINTERINFO, entry )
{
if (!strcmpW( pi->friendly_name, name ))
if (!wcscmp( pi->friendly_name, name ))
return pi;
}
pi = HeapAlloc( PSDRV_Heap, HEAP_ZERO_MEMORY, sizeof(*pi) );
if (pi == NULL) return NULL;
if (!(pi->friendly_name = HeapAlloc( PSDRV_Heap, 0, (strlenW(name)+1)*sizeof(WCHAR) ))) goto fail;
strcpyW( pi->friendly_name, name );
if (!(pi->friendly_name = HeapAlloc( PSDRV_Heap, 0, (lstrlenW(name)+1)*sizeof(WCHAR) ))) goto fail;
lstrcpyW( pi->friendly_name, name );
if (OpenPrinterW( pi->friendly_name, &hPrinter, NULL ) == 0) {
ERR ("OpenPrinter failed with code %i\n", GetLastError ());

View File

@ -19,9 +19,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include "wine/port.h"
#include <string.h>
#include <stdarg.h>
#include <stdio.h>

View File

@ -29,6 +29,7 @@
#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winnls.h"
#include "wingdi.h"
#include "psdrv.h"
#include "wine/debug.h"

View File

@ -28,7 +28,6 @@
#include "wingdi.h"
#include "winspool.h"
#include "wine/unicode.h"
#include "wine/gdi_driver.h"
#include "wine/list.h"
@ -595,7 +594,7 @@ static inline WCHAR *strdupW( const WCHAR *str )
WCHAR *ret;
if (!str) return NULL;
size = (strlenW( str ) + 1) * sizeof(WCHAR);
size = (lstrlenW( str ) + 1) * sizeof(WCHAR);
ret = HeapAlloc( GetProcessHeap(), 0, size );
if (ret) memcpy( ret, str, size );
return ret;

View File

@ -18,9 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include "wine/port.h"
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>

View File

@ -25,23 +25,15 @@
*
*/
#include "config.h"
#include "wine/port.h"
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#ifdef HAVE_DIRENT_H
# include <dirent.h>
#endif
#include <errno.h>
#include <io.h>
#include <ctype.h>
#include <limits.h> /* INT_MIN */
#ifdef HAVE_FLOAT_H
#include <float.h> /* FLT_MAX */
#endif
#include "windef.h"
#include "winbase.h"
@ -818,7 +810,7 @@ static const LONG ansiChars[21] =
0x20ac, 0x2122, 0x2219
};
static int cmpUV(const void *a, const void *b)
static int __cdecl cmpUV(const void *a, const void *b)
{
return (int)(*((const LONG *)a) - *((const LONG *)b));
}
@ -849,7 +841,7 @@ static inline BOOL IsWinANSI(LONG uv)
* Also does some font metric calculations that require UVs to be known.
*
*/
static int UnicodeGlyphByNameIndex(const void *a, const void *b)
static int __cdecl UnicodeGlyphByNameIndex(const void *a, const void *b)
{
return ((const UNICODEGLYPH *)a)->name->index -
((const UNICODEGLYPH *)b)->name->index;
@ -935,7 +927,7 @@ static VOID Unicodify(AFM *afm, OLD_AFMMETRICS *metrics)
* Reads metrics for all glyphs. *p_metrics will be NULL on non-fatal error.
*
*/
static int OldAFMMetricsByUV(const void *a, const void *b)
static int __cdecl OldAFMMetricsByUV(const void *a, const void *b)
{
return ((const OLD_AFMMETRICS *)a)->UV - ((const OLD_AFMMETRICS *)b)->UV;
}
@ -1099,17 +1091,18 @@ static BOOL BuildAFM(FILE *file)
* unexpected errors (memory allocation or I/O).
*
*/
static BOOL ReadAFMFile(LPCSTR filename)
static BOOL ReadAFMFile(LPCWSTR filename)
{
static const WCHAR rW[] = {'r',0};
FILE *f;
BOOL retval;
TRACE("%s\n", filename);
TRACE("%s\n", debugstr_w(filename));
f = fopen(filename, "r");
f = _wfopen(filename, rW);
if (f == NULL)
{
WARN("%s: %s\n", filename, strerror(errno));
WARN("%s: %s\n", debugstr_w(filename), strerror(errno));
return TRUE;
}
@ -1127,41 +1120,41 @@ static BOOL ReadAFMFile(LPCSTR filename)
*/
static BOOL ReadAFMDir(LPCSTR dirname)
{
struct dirent *dent;
DIR *dir;
CHAR filename[256];
static const WCHAR starW[] = {'*',0};
static const WCHAR afmW[] = {'.','a','f','m',0};
WCHAR *path = wine_get_dos_file_name( dirname );
struct _wfinddata_t data;
intptr_t handle;
WCHAR *p, *filename;
BOOL ret = TRUE;
dir = opendir(dirname);
if (dir == NULL)
if (!path) return TRUE;
if (!(filename = HeapAlloc( GetProcessHeap(), 0, lstrlenW(path) + 256 )))
{
WARN("%s: %s\n", dirname, strerror(errno));
return TRUE;
HeapFree( GetProcessHeap(), 0, path );
return FALSE;
}
lstrcpyW( filename, path );
HeapFree( GetProcessHeap(), 0, path );
p = filename + lstrlenW(filename);
*p++ = '\\';
lstrcpyW( p, starW );
while ((dent = readdir(dir)) != NULL)
handle = _wfindfirst( filename, &data );
if (handle != -1)
{
CHAR *file_extension = strchr(dent->d_name, '.');
int fn_len;
if (file_extension == NULL || _strnicmp(file_extension, ".afm", -1) != 0)
continue;
fn_len = snprintf(filename, 256, "%s/%s", dirname, dent->d_name);
if (fn_len < 0 || fn_len > sizeof(filename) - 1)
{
WARN("Path '%s/%s' is too long\n", dirname, dent->d_name);
continue;
}
if (ReadAFMFile(filename) == FALSE)
{
closedir(dir);
return FALSE;
}
do
{
WCHAR *ext = wcschr( data.name, '.' );
if (!ext || wcsicmp(ext, afmW)) continue;
lstrcpyW( p, data.name );
if (!(ret = ReadAFMFile( filename ))) break;
} while (!_wfindnext( handle, &data ));
}
_findclose( handle );
closedir(dir);
return TRUE;
HeapFree( GetProcessHeap(), 0, filename );
return ret;
}
/*******************************************************************************

View File

@ -18,9 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include "wine/port.h"
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>