File buffer-1.19.dif of Package buffer
--- Makefile
+++ Makefile
@@ -32,7 +32,7 @@
install: buffer
rm -f $(INSTBIN)/buffer
cp buffer $(INSTBIN)/buffer
- chmod 111 $(INSTBIN)/buffer
+ chmod 755 $(INSTBIN)/buffer
rm -f $(INSTMAN)/buffer.$S
cp buffer.man $(INSTMAN)/buffer.$S
chmod 444 $(INSTMAN)/buffer.$S
--- buffer.c
+++ buffer.c
@@ -111,6 +111,8 @@
*/
#include <unistd.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <signal.h>
#include <fcntl.h>
#include <errno.h>
@@ -126,10 +128,6 @@
static char *rcsid = "$Header: /a/swan/home/swan/staff/csg/lmjm/src/buffer/RCS/buffer.c,v 1.19 1995/08/24 17:46:28 lmjm Exp lmjm $";
#endif
-#ifndef __alpha
-extern char *shmat();
-#endif /* __alpha */
-
/* General macros */
#define TRUE 1
#define FALSE 0
@@ -430,7 +428,7 @@
/* The interrupt handler */
void
-shutdown()
+shutdown(int dummy)
{
static int shutting;
if( shutting ){
@@ -447,7 +445,7 @@
/* Shutdown because the child has ended */
void
-child_shutdown()
+child_shutdown(int dummy)
{
/* Find out which child has died. (They may not be my
* children if buffer was exec'd on top of something that had
@@ -507,7 +505,7 @@
get_buffer();
if( debug )
- fprintf( stderr, "%s pbuffer is 0x%08x, buffer_size is %d [%d x %d]\n",
+ fprintf( stderr, "%s pbuffer is %p, buffer_size is %d [%d x %d]\n",
proc_string,
(char *)pbuffer, buffer_size, blocks, blocksize );
--- sem.c
+++ sem.c
@@ -27,6 +27,7 @@
* semaphores */
#include <stdio.h>
+#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
@@ -34,7 +35,7 @@
#include <errno.h>
#include "sem.h"
-#if defined(SYS5) || defined(ultrix) || defined(_AIX)
+#if defined(SYS5) || defined(ultrix) || defined(_AIX) || defined _SEM_SEMUN_UNDEFINED
union semun {
int val;
struct semid_ds *buf;
@@ -95,7 +96,7 @@
return sem;
}
-static
+static void
do_sem( sem_id, pbuf, err )
int sem_id;
struct sembuf *pbuf;
@@ -152,7 +153,7 @@
if( sem_id == -1 )
return;
- if( semctl( sem_id, 0, IPC_RMID, NULL ) == -1 ){
+ if( semctl( sem_id, 0, IPC_RMID, (union semun)0 ) == -1 ){
report_proc();
perror( "internal error, failed to remove semaphore" );
}