96 lines
2.8 KiB
Text
96 lines
2.8 KiB
Text
$NetBSD: patch-aa,v 1.4 2007/10/09 11:09:22 rillig Exp $
|
|
|
|
Handle wide signal masks.
|
|
|
|
For the removal of the type casts, see patch-ak.
|
|
|
|
--- Xpm.c.orig 1996-11-26 14:40:26.000000000 +0100
|
|
+++ Xpm.c 2007-10-09 12:54:37.000000000 +0200
|
|
@@ -46,7 +46,7 @@ char directory[MAXPATHLEN];
|
|
}
|
|
chdir(directory);
|
|
}
|
|
- (PixmapNode *)PixList.first = (PixmapNode *)pixnode;
|
|
+ PixList.first = pixnode;
|
|
pixnode->next = NULL;
|
|
PixList.n_entries = 1;
|
|
pixnode->filename = filename;
|
|
@@ -55,18 +55,18 @@ char directory[MAXPATHLEN];
|
|
|
|
/* Is the pixmap already in the list? */
|
|
|
|
- (PixmapNode *)pixnode = (PixmapNode *)PixList.first;
|
|
+ pixnode = PixList.first;
|
|
for(;;)
|
|
{
|
|
if(strncmp(filename,pixnode->filename, MAXPATHLEN) == 0)
|
|
return((Pixmap *)&pixnode->pixmap);
|
|
if(pixnode->next == NULL) break;
|
|
- (PixmapNode *)pixnode = (PixmapNode *)pixnode->next;
|
|
+ pixnode = pixnode->next;
|
|
}
|
|
|
|
/* Didnt find the pixmap...make a new one */
|
|
|
|
- (PixmapNode *)pixnew = (void *)malloc(sizeof(PixmapNode));
|
|
+ pixnew = (void *)malloc(sizeof(PixmapNode));
|
|
|
|
XGetWindowAttributes(XtDisplay(w) ,DefaultRootWindow(XtDisplay(w)),&root_att);
|
|
orig_att.closeness=65536;
|
|
@@ -86,7 +86,7 @@ char directory[MAXPATHLEN];
|
|
}
|
|
chdir(directory);
|
|
}
|
|
- (PixmapNode *)pixnode->next = (PixmapNode *)pixnew;
|
|
+ pixnode->next = pixnew;
|
|
pixnew->filename = filename;
|
|
pixnew->next = NULL;
|
|
return((Pixmap *)&pixnew->pixmap);
|
|
@@ -105,7 +105,7 @@ XpmAttributes orig_att;
|
|
char error_buf[BUFSIZ];
|
|
char directory[MAXPATHLEN];
|
|
|
|
- (PixmapNode *)pixnode = (PixmapNode *)PixList.first;
|
|
+ pixnode = PixList.first;
|
|
for(;;)
|
|
{
|
|
if(strncmp(filename,pixnode->filename, MAXPATHLEN) == 0)
|
|
@@ -114,7 +114,7 @@ char directory[MAXPATHLEN];
|
|
break;
|
|
}
|
|
if(pixnode->next == NULL) break;
|
|
- (PixmapNode *)pixnode = (PixmapNode *)pixnode->next;
|
|
+ pixnode = pixnode->next;
|
|
}
|
|
if(found)
|
|
{
|
|
@@ -140,7 +140,7 @@ char directory[MAXPATHLEN];
|
|
}
|
|
else
|
|
{
|
|
- (PixmapNode *)pixnew = (void *)malloc(sizeof(PixmapNode));
|
|
+ pixnew = (void *)malloc(sizeof(PixmapNode));
|
|
XGetWindowAttributes(XtDisplay(w) ,DefaultRootWindow(XtDisplay(w)),&root_att);
|
|
orig_att.closeness=65536;
|
|
orig_att.colormap=root_att.colormap;
|
|
@@ -159,7 +159,7 @@ char directory[MAXPATHLEN];
|
|
}
|
|
chdir(directory);
|
|
}
|
|
- (PixmapNode *)pixnode->next = (PixmapNode *)pixnew;
|
|
+ pixnode->next = pixnew;
|
|
pixnew->filename = filename;
|
|
pixnew->next = NULL;
|
|
return((Pixmap *)&pixnew->mask);
|
|
@@ -206,9 +206,8 @@ char *soundfile;
|
|
sigchld.
|
|
*/
|
|
new.sa_handler=SigHandle;
|
|
- new.sa_mask=0;
|
|
- new.sa_flags=SA_NOMASK | SA_ONESHOT;
|
|
- new.sa_restorer=NULL;
|
|
+ (void) memset(&new.sa_mask, 0, sizeof(new.sa_mask));
|
|
+ new.sa_flags=SA_NODEFER;
|
|
sigaction(SIGCHLD, &new, &old);
|
|
playing = 1;
|
|
soundpid = fork();
|