Portability fixes for Cygwin.

This commit is contained in:
Rafael Kitover 2002-07-31 20:04:20 +00:00 committed by Alexandre Julliard
parent 7375597fe2
commit ac81d02a58
6 changed files with 54 additions and 16 deletions

View File

@ -536,6 +536,7 @@ HANDLE WINAPI CreateNamedPipeW( LPCWSTR name, DWORD dwOpenMode,
BOOL WINAPI PeekNamedPipe( HANDLE hPipe, LPVOID lpvBuffer, DWORD cbBuffer,
LPDWORD lpcbRead, LPDWORD lpcbAvail, LPDWORD lpcbMessage )
{
#ifdef FIONREAD
int avail=0,fd;
fd = FILE_GetUnixHandle(hPipe, GENERIC_READ);
@ -555,6 +556,7 @@ BOOL WINAPI PeekNamedPipe( HANDLE hPipe, LPVOID lpvBuffer, DWORD cbBuffer,
*lpcbAvail= avail;
return TRUE;
}
#endif /* defined(FIONREAD) */
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
FIXME("function not implemented\n");

View File

@ -249,8 +249,44 @@ typedef struct
#endif /* __EMX__ */
#ifdef __CYGWIN__
#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__EMX__)
/* FIXME: This section is just here so it can compile, it's most likely
* completely wrong. */
typedef struct
{
unsigned short sc_gs, __gsh;
unsigned short sc_fs, __fsh;
unsigned short sc_es, __esh;
unsigned short sc_ds, __dsh;
unsigned long sc_edi;
unsigned long sc_esi;
unsigned long sc_ebp;
unsigned long sc_esp;
unsigned long sc_ebx;
unsigned long sc_edx;
unsigned long sc_ecx;
unsigned long sc_eax;
unsigned long sc_trapno;
unsigned long sc_err;
unsigned long sc_eip;
unsigned short sc_cs, __csh;
unsigned long sc_eflags;
unsigned long esp_at_signal;
unsigned short sc_ss, __ssh;
unsigned long i387;
unsigned long oldmask;
unsigned long cr2;
} SIGCONTEXT;
#define HANDLER_DEF(name) void name( int __signal, SIGCONTEXT __context )
#define HANDLER_CONTEXT (&__context)
#endif /* __CYGWIN__ */
#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) ||\
defined(__OpenBSD__) || defined(__EMX__) || defined(__CYGWIN__)
#define EAX_sig(context) ((context)->sc_eax)
#define EBX_sig(context) ((context)->sc_ebx)

View File

@ -49,7 +49,7 @@ inline static BOOL is_stock_font( HFONT font )
* Scale builtin font to requested lfHeight
*
*/
inline static float round(float f)
inline static float Round(float f)
{
return (f > 0) ? (f + 0.5) : (f - 0.5);
}
@ -73,15 +73,15 @@ static VOID ScaleFont(const AFM *afm, LONG lfHeight, PSFONT *font,
(float)(wm->usWinAscent + wm->usWinDescent);
}
font->size = (INT)round(font->fontinfo.Builtin.scale * (float)wm->usUnitsPerEm);
font->size = (INT)Round(font->fontinfo.Builtin.scale * (float)wm->usUnitsPerEm);
usUnitsPerEm = (USHORT)round((float)(wm->usUnitsPerEm) * font->fontinfo.Builtin.scale);
sAscender = (SHORT)round((float)(wm->sAscender) * font->fontinfo.Builtin.scale);
sDescender = (SHORT)round((float)(wm->sDescender) * font->fontinfo.Builtin.scale);
sLineGap = (SHORT)round((float)(wm->sLineGap) * font->fontinfo.Builtin.scale);
usWinAscent = (USHORT)round((float)(wm->usWinAscent) * font->fontinfo.Builtin.scale);
usWinDescent = (USHORT)round((float)(wm->usWinDescent) * font->fontinfo.Builtin.scale);
sAvgCharWidth = (SHORT)round((float)(wm->sAvgCharWidth) * font->fontinfo.Builtin.scale);
usUnitsPerEm = (USHORT)Round((float)(wm->usUnitsPerEm) * font->fontinfo.Builtin.scale);
sAscender = (SHORT)Round((float)(wm->sAscender) * font->fontinfo.Builtin.scale);
sDescender = (SHORT)Round((float)(wm->sDescender) * font->fontinfo.Builtin.scale);
sLineGap = (SHORT)Round((float)(wm->sLineGap) * font->fontinfo.Builtin.scale);
usWinAscent = (USHORT)Round((float)(wm->usWinAscent) * font->fontinfo.Builtin.scale);
usWinDescent = (USHORT)Round((float)(wm->usWinDescent) * font->fontinfo.Builtin.scale);
sAvgCharWidth = (SHORT)Round((float)(wm->sAvgCharWidth) * font->fontinfo.Builtin.scale);
tm->tmAscent = (LONG)usWinAscent;
tm->tmDescent = (LONG)usWinDescent;
@ -125,7 +125,7 @@ static VOID ScaleFont(const AFM *afm, LONG lfHeight, PSFONT *font,
font->fontinfo.Builtin.scale *= (float)wm->usUnitsPerEm / 1000.0;
tm->tmMaxCharWidth = (LONG)round(
tm->tmMaxCharWidth = (LONG)Round(
(afm->FontBBox.urx - afm->FontBBox.llx) * font->fontinfo.Builtin.scale);
font->underlinePosition = afm->UnderlinePosition * font->fontinfo.Builtin.scale;

View File

@ -34,7 +34,7 @@ struct _stat {
short st_uid;
short st_gid;
_dev_t st_rdev;
_off_t st_size;
MSVCRT(_off_t) st_size;
MSVCRT(time_t) st_atime;
MSVCRT(time_t) st_mtime;
MSVCRT(time_t) st_ctime;
@ -59,9 +59,9 @@ struct _stati64 {
extern "C" {
#endif
int _fstat(int,struct _stat*);
int MSVCRT(_fstat)(int,struct _stat*);
int MSVCRT(_stat)(const char*,struct _stat*);
int _fstati64(int,struct _stati64*);
int _stat(const char*,struct _stat*);
int _stati64(const char*,struct _stati64*);
int _wstat(const WCHAR*,struct _stat*);

View File

@ -31,7 +31,7 @@
typedef unsigned int _dev_t;
typedef unsigned short _ino_t;
typedef int _off_t;
typedef int MSVCRT(_off_t);
typedef long MSVCRT(time_t);

View File

@ -37,7 +37,7 @@ libwine_tsx11.a: $(OBJS)
$(RANLIB) $@
libwine_tsx11.dll: $(OBJS)
$(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine_tsx11.a -o libwine_tsx11.dll $(OBJS)
$(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine_tsx11.a -o libwine_tsx11.dll $(OBJS) $(EXTRALIBS)
.PHONY: install_so install_a