[Bug 17107] New: compiler warnings in server/fd.c on NetBSD
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Jan 24 00:33:53 CST 2009
http://bugs.winehq.org/show_bug.cgi?id=17107
Summary: compiler warnings in server/fd.c on NetBSD
Product: Wine
Version: 1.1.13
Platform: PC
OS/Version: NetBSD
Status: NEW
Keywords: download, source
Severity: enhancement
Priority: P2
Component: wineserver
AssignedTo: wine-bugs at winehq.org
ReportedBy: austinenglish at gmail.com
fd.c: In function 'set_fd_epoll_events':
fd.c:580: warning: assignment makes integer from pointer without a cast
fd.c:581: warning: assignment makes integer from pointer without a cast
Only appears on NetBSD, but not OpenBSD/FreeBSD. Vincent Povirk helped me
investigate on IRC, and looks like the problem is that on FreeBSD, in
/usr/include/sys/event.h you've got:
struct kevent {
uintptr_t ident; /* identifier for this event */
short filter; /* filter for event */
u_short flags;
u_int fflags;
intptr_t data;
void *udata; /* opaque user data identifier */
};
But on NetBSD:
struct kevent {
uintptr_t ident; /* identifier for this event */
uint32_t filter; /* filter for event */
uint32_t flags; /* action flags for kqueue */
uint32_t fflags; /* filter flag value */
int64_t data; /* filter data value */
intptr_t udata; /* opaque user data identifier */
};
Note the difference in udata 'void *' vs 'intptr_t'.
Relevant lines from the code:
EV_SET( &ev[0], fd->unix_fd, EVFILT_READ, 0, NOTE_LOWAT, 1, (void *)user );
EV_SET( &ev[1], fd->unix_fd, EVFILT_WRITE, 0, NOTE_LOWAT, 1, (void *)user
);
removing (void *) or changing it to intptr_t fixes the warning, but doesn't
seem a proper fix. Probably needs an ifdef or typedef, but I'll leave that for
someone else to decide.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list