mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-08-03 17:59:07 -04:00
70 lines
2.0 KiB
Plaintext
70 lines
2.0 KiB
Plaintext
$NetBSD: patch-ae,v 1.3 2013/03/25 01:59:03 dholland Exp $
|
|
|
|
- fd_set is not (necessarily) a struct
|
|
- change around handling of signal masks (XXX: it is still wrong)
|
|
- don't crash on remote machines that aren't in DNS
|
|
- use socklen_t witih accept()
|
|
|
|
--- netserv.c.orig 1994-04-10 10:07:23.000000000 +0000
|
|
+++ netserv.c
|
|
@@ -106,7 +106,11 @@ struct pqueue *find_player(char*);
|
|
|
|
|
|
#ifdef HAVE_FDSET
|
|
+# ifdef Linux
|
|
+ fd_set readmask;
|
|
+# else
|
|
struct fd_set readmask;
|
|
+# endif
|
|
#else
|
|
struct fd_mask readmask;
|
|
#endif
|
|
@@ -629,7 +633,7 @@ void start_signal(void)
|
|
#ifdef RS6000 /* ibm rs/6000 */
|
|
sigemptyset(&vec1.sa_mask);
|
|
#else
|
|
- vec1.sa_mask = 0;
|
|
+ (void)sigprocmask (SIG_SETMASK, 0, NULL);
|
|
#endif
|
|
vec1.sa_flags = 0;
|
|
if ( sigaction(SIGALRM, &vec1, (struct sigaction *) 0) == -1) perror("SIGALRM\n");
|
|
@@ -652,7 +656,7 @@ void setup_sigchild(void) /* for externa
|
|
#ifdef RS6000 /* ibm rs/6000 */
|
|
sigemptyset(&svec1.sa_mask);
|
|
#else
|
|
- svec1.sa_mask = 0;
|
|
+ (void)sigprocmask (SIG_SETMASK, 0, NULL);
|
|
#endif
|
|
svec1.sa_flags = 0;
|
|
if(sigaction(SIGCHLD,&svec1,(struct sigaction *)0) == -1) perror("SIGCHLD\n");
|
|
@@ -779,7 +783,11 @@ void do_timer(int nowaitgroup)
|
|
void io_cntl(void)
|
|
{
|
|
#ifdef HAVE_FDSET
|
|
+# ifdef Linux
|
|
+ fd_set readmask1;
|
|
+# else
|
|
struct fd_set readmask1;
|
|
+# endif
|
|
#else
|
|
struct fd_mask readmask1;
|
|
#endif
|
|
@@ -881,7 +889,7 @@ void io_cntl(void)
|
|
|
|
void accept_socket(void)
|
|
{
|
|
- int addrlen = sizeof(struct sockaddr);
|
|
+ socklen_t addrlen = sizeof(struct sockaddr);
|
|
struct cqueue *q;
|
|
|
|
q = calloc(1,sizeof(struct cqueue)); /* alloc a new node */
|
|
@@ -914,7 +922,7 @@ char *get_hostname(struct cqueue *q,char
|
|
char *saddr = (char *) &(((struct sockaddr_in *) &(q->remoteaddr))->sin_addr.s_addr);
|
|
hp = gethostbyaddr(saddr,4,AF_INET);
|
|
|
|
- if(strlen(hp->h_name) > 0)
|
|
+ if(hp && strlen(hp->h_name) > 0)
|
|
strcpy(name,hp->h_name);
|
|
else
|
|
sprintf(name,"%d.%d.%d.%d",(int) saddr[0],(int) saddr[1],(int) saddr[2],(int) saddr[3]);
|