--- wavplay-1.4/Makefile 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/Makefile 2003-03-11 11:15:53.000000000 +0100 @@ -38,7 +38,7 @@ #---------------------------------------------------------------------- # If you are running a 386 you should comment this line out. # -CPU=-m486 +# CPU=-m486 #---------------------------------------------------------------------- # If you are experiencing troubles (like core dumps!), then uncomment @@ -47,7 +47,7 @@ # adjust the STRIP option to suit compile mode: # #DEBUG=-g -OPT=-O2 +# OPT=-O2 #---------------------------------------------------------------------- # When using 'DEBUG=-g' above, then comment out the 'strip' line: @@ -115,7 +115,7 @@ # Environment variable WAVPLAYPATH will override this value at runtime, if # present. # -PLAYPATH= -DWAVPLAYPATH=\"$(INSTDIR)/wavplay\" +PLAYPATH= -DWAVPLAYPATH=\"/usr/bin/wavplay\" #---------------------------------------------------------------------- # Minimum DSP sampling rate (default is 4000) @@ -164,7 +164,7 @@ # installed). # #CUSTINCL= -I/usr/X11R6/include/X11 -I/usr/local/lesstif/include/Xm - +CUSTINCL= -I /usr/X11R6/include #---------------------------------------------------------------------- # Normally, you shouldn't need to change anything beyond this point: #---------------------------------------------------------------------- @@ -173,8 +173,6 @@ CUSTMOPTS=$(STDGETOPTS) $(PLAYPATH) $(DSPMIN) $(DSPMAX) $(DSPPATH) $(DSPLOCKS) $(USERES) $(NOEDITRES) $(SCHED_PRIORITY) ELF= # -fPIC INCL= -I. $(CUSTINCL) -CCFLAGS= -c $(DEBUG)$(OPT) $(CPU) $(ELF) -fhandle-exceptions $(CUSTMOPTS) -Wall -Wstrict-prototypes -CFLAGS= -c $(DEBUG)$(OPT) $(CPU) $(ELF) -Wall -Wstrict-prototypes $(CUSTMOPTS) CC= gcc CP= g++ @@ -184,10 +182,10 @@ WVDMPO= wavdump.o .cc.o: - $(CP) $(CCFLAGS) $(INCL) $< + $(CP) -c $(CCFLAGS) $(CUSTMOPTS) $(INCL) $< .c.o: - $(CC) $(CFLAGS) $(INCL) $< + $(CC) -c $(CFLAGS) $(CUSTMOPTS) $(INCL) $< all: wavplay wavrec xltwavplay --- wavplay-1.4/client.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/client.c 2003-03-11 10:21:50.000000000 +0100 @@ -135,7 +135,7 @@ * communications. */ if ( (svrIPC = MsgCreate()) < 0 ) { - err("%s: creating message queue",sys_errlist[errno]); + err("%s: creating message queue",strerror(errno)); return -1; } @@ -153,12 +153,12 @@ else execl(env_WAVPLAYPATH,buf,NULL); /* No debug yet */ /* Returns only if error occurs */ - fprintf(stderr,"%s: exec of %s\n",sys_errlist[errno],env_WAVPLAYPATH); + fprintf(stderr,"%s: exec of %s\n",strerror(errno),env_WAVPLAYPATH); exit(2); } else if ( svrPID < 0 ) { e = errno; - err("%s: forking the server process",sys_errlist[errno]); + err("%s: forking the server process",strerror(errno)); MsgClose(svrIPC); errno = e; /* Restore error code */ return -1; @@ -216,7 +216,7 @@ if ( (rc = MsgSend(svrIPC,&msg,flags,MSGNO_SRVR)) != 0 && erf != NULL ) err("%s: Sending server message '%s'", msg_name(cmd), - sys_errlist[errno]); + strerror(errno)); return rc; /* Zero indicates success */ } @@ -236,7 +236,7 @@ msg.bytes = strlen(msg.u.tosvr_path.path); if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'path'",sys_errlist[errno]); + err("%s: Sending server message 'path'",strerror(errno)); return z; } @@ -255,7 +255,7 @@ msg.bytes = sizeof msg.u.tosvr_bits; if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'bits'",sys_errlist[errno]); + err("%s: Sending server message 'bits'",strerror(errno)); return z; } @@ -275,7 +275,7 @@ msg.bytes = sizeof msg.u.tosvr_start_sample; if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'start_sample'",sys_errlist[errno]); + err("%s: Sending server message 'start_sample'",strerror(errno)); return z; } @@ -294,7 +294,7 @@ msg.bytes = sizeof msg.u.tosvr_sampling_rate; if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'sampling_rate'",sys_errlist[errno]); + err("%s: Sending server message 'sampling_rate'",strerror(errno)); return z; } @@ -314,7 +314,7 @@ msg.bytes = sizeof msg.u.tosvr_chan; if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'tosvr_chan'",sys_errlist[errno]); + err("%s: Sending server message 'tosvr_chan'",strerror(errno)); return z; } @@ -336,7 +336,7 @@ msg.bytes = sizeof msg.u.tosvr_record; if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'tosvr_record'",sys_errlist[errno]); + err("%s: Sending server message 'tosvr_record'",strerror(errno)); return z; } @@ -356,7 +356,7 @@ msg.bytes = sizeof msg.u.tosvr_debug; if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) - err("%s: Sending server message 'tosvr_debug'",sys_errlist[errno]); + err("%s: Sending server message 'tosvr_debug'",strerror(errno)); return z; } --- wavplay-1.4/file.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/file.c 2003-03-11 10:30:30.000000000 +0100 @@ -106,7 +106,7 @@ WAVFILE *wfile = (WAVFILE *) malloc(sizeof (WAVFILE)); if ( wfile == NULL ) { - err("%s: Allocating WAVFILE structure",sys_errlist[ENOMEM]); + err("%s: Allocating WAVFILE structure",strerror(ENOMEM)); return NULL; } @@ -114,7 +114,7 @@ if ( (wfile->Pathname = strdup(Pathname)) == NULL ) { free(wfile); - err("%s: Allocating storage for WAVFILE.Pathname",sys_errlist[ENOMEM]); + err("%s: Allocating storage for WAVFILE.Pathname",strerror(ENOMEM)); return NULL; } @@ -166,14 +166,14 @@ */ if ( (wfile->fd = open(wfile->Pathname,O_RDONLY)) < 0 ) { err("%s:\nOpening WAV file %s", - sys_errlist[errno], + strerror(errno), wfile->Pathname); goto errxit; } if ( lseek(wfile->fd,0L,SEEK_SET) != 0L ) { err("%s:\nRewinding WAV file %s", - sys_errlist[errno], + strerror(errno), wfile->Pathname); goto errxit; /* Wav file must be seekable device */ } @@ -205,12 +205,12 @@ * Seek to byte count and read dbytes: */ if ( lseek(wfile->fd,offset,SEEK_SET) != offset ) { - err("%s:\nSeeking to WAV data in %s",sys_errlist[errno],wfile->Pathname); + err("%s:\nSeeking to WAV data in %s",strerror(errno),wfile->Pathname); goto errxit; /* Seek failure */ } if ( read(wfile->fd,ubuf,4) != 4 ) { - err("%s:\nReading dbytes from %s",sys_errlist[errno],wfile->Pathname); + err("%s:\nReading dbytes from %s",strerror(errno),wfile->Pathname); goto errxit; } @@ -308,7 +308,7 @@ v_erf = erf; /* Set error reporting function */ if ( wfile == NULL ) { - err("%s: WAVFILE pointer is NULL!",sys_errlist[EINVAL]); + err("%s: WAVFILE pointer is NULL!",strerror(EINVAL)); errno = EINVAL; return -1; } @@ -322,9 +322,9 @@ if ( (e = WaveReadHeader(wfile->fd,&channels,&samplerate,&sample_bits,&samples,&datastart,_v_erf)) != 0 ) err("%s:\nReading WAV header from %s",emsg,wfile->Pathname); else if ( lseek(wfile->fd,(long)(datastart-4),SEEK_SET) != (long)(datastart-4) ) - err("%s:\nSeeking in WAV header file %s",sys_errlist[errno],wfile->Pathname); + err("%s:\nSeeking in WAV header file %s",strerror(errno),wfile->Pathname); else if ( write(wfile->fd,&wfile->wavinfo.Samples,sizeof wfile->wavinfo.Samples) != sizeof wfile->wavinfo.Samples ) - err("%s:\nWriting in WAV header file %s",sys_errlist[errno],wfile->Pathname); + err("%s:\nWriting in WAV header file %s",strerror(errno),wfile->Pathname); else { /* * 'data' chunk was updated OK: Now we have to update the RIFF block @@ -333,24 +333,24 @@ */ if ( ftruncate(wfile->fd,(size_t)fpos) ) err("%s:\nTruncating file %s to correct size", - sys_errlist[errno], + strerror(errno), wfile->Pathname); else if ( lseek(wfile->fd,4L,SEEK_SET) < 0L ) err("%s:\nSeek 4 for RIFF block update of %s", - sys_errlist[errno], + strerror(errno), wfile->Pathname); else { fpos -= 8; /* Byte count for RIFF block */ if ( write(wfile->fd,&fpos,sizeof fpos) != sizeof fpos ) err("%s:\nUpdate of RIFF block count in %s failed", - sys_errlist[errno], + strerror(errno), wfile->Pathname); } } } if ( close(wfile->fd) < 0 ) { - err("%s:\nClosing WAV file",sys_errlist[errno]); + err("%s:\nClosing WAV file",strerror(errno)); e = errno; /* Save errno value to return */ } @@ -385,7 +385,7 @@ */ if ( (wfile->fd = open(wfile->Pathname,O_RDWR|O_TRUNC|O_CREAT,0666)) < 0 ) { err("%s:\nOpening %s for WAV writing", - sys_errlist[errno], + strerror(errno), wfile->Pathname); return NULL; /* Open error */ } @@ -427,7 +427,7 @@ v_erf = erf; /* Set error reporting function */ if ( dfile == NULL ) { - err("%s: Opening DSP device",sys_errlist[errno=ENOMEM]); + err("%s: Opening DSP device",strerror(errno=ENOMEM)); return NULL; } @@ -439,7 +439,7 @@ */ if ( (dfile->fd = open(env_AUDIODEV,omode,0)) < 0 ) { err("%s:\nOpening audio device %s", - sys_errlist[errno], + strerror(errno), env_AUDIODEV); goto errxit; } @@ -449,7 +449,7 @@ * setting sampling rate etc. */ if ( ioctl(dfile->fd,SNDCTL_DSP_GETBLKSIZE,&dfile->dspblksiz) < 0 ) { - err("%s: Optaining DSP's block size",sys_errlist[errno]); + err("%s: Optaining DSP's block size",strerror(errno)); goto errxit; } @@ -460,7 +460,7 @@ /* and 64 for 8130Hz, 8 bit */ if ( dfile->dspblksiz < 32 || dfile->dspblksiz > 65536 ) { err("%s: Audio block size (%d bytes)", - sys_errlist[errno=EINVAL], + strerror(errno=EINVAL), (int)dfile->dspblksiz); goto errxit; } @@ -469,7 +469,7 @@ * Allocate a buffer to do the I/O through: */ if ( (dfile->dspbuf = (char *) malloc(dfile->dspblksiz)) == NULL ) { - err("%s: For DSP I/O buffer",sys_errlist[errno]); + err("%s: For DSP I/O buffer",strerror(errno)); goto errxit; } @@ -478,7 +478,7 @@ */ t = wfile->wavinfo.DataBits; if ( ioctl(dfile->fd,SNDCTL_DSP_SAMPLESIZE,&t) < 0 ) { - err("%s: Setting DSP to %u bits",sys_errlist[errno],(unsigned)t); + err("%s: Setting DSP to %u bits",strerror(errno),(unsigned)t); goto errxit; } @@ -488,7 +488,7 @@ t = wfile->wavinfo.Channels == Stereo ? 1 : 0; if ( ioctl(dfile->fd,SNDCTL_DSP_STEREO,&t) < 0 ) { err("%s: Unable to set DSP to %s mode", - sys_errlist[errno], + strerror(errno), t?"Stereo":"Mono"); goto errxit; } @@ -498,7 +498,7 @@ */ ul = wfile->wavinfo.SamplingRate; if ( ioctl(dfile->fd,SNDCTL_DSP_SPEED,&ul) < 0 ) { - err("Unable to set audio sampling rate",sys_errlist[errno]); + err("Unable to set audio sampling rate",strerror(errno)); goto errxit; } @@ -530,7 +530,7 @@ v_erf = erf; /* Set error reporting function */ if ( dfile == NULL ) { - err("%s: DSPFILE is not open",sys_errlist[errno=EINVAL]); + err("%s: DSPFILE is not open",strerror(errno=EINVAL)); return -1; } @@ -540,7 +540,7 @@ free(dfile); if ( close(fd) ) { - err("%s: Closing DSP fd %d",sys_errlist[errno],fd); + err("%s: Closing DSP fd %d",strerror(errno),fd); return -1; } @@ -565,7 +565,7 @@ * Check that the WAVFILE is open for reading: */ if ( wfile->rw != 'R' ) { - err("%s: WAVFILE must be open for reading",sys_errlist[errno=EINVAL]); + err("%s: WAVFILE must be open for reading",strerror(errno=EINVAL)); return -1; } @@ -581,7 +581,7 @@ break; default : err("%s: Cannot process %u bit samples", - sys_errlist[errno=EINVAL], + strerror(errno=EINVAL), (unsigned)wfile->wavinfo.DataBits); return -1; } @@ -593,7 +593,7 @@ byte_count *= 2; /* Twice as many bytes for stereo */ else if ( wfile->wavinfo.Channels != Mono ) { err("%s: DSPFILE control block is corrupted (chan_mode)", - sys_errlist[errno=EINVAL]); + strerror(errno=EINVAL)); return -1; } @@ -606,7 +606,7 @@ update_bytes = ((wfile->wavinfo.SamplingRate*byte_modulo) / (RECPLAY_UPDATES_PER_SEC*dfile->dspblksiz)) * dfile->dspblksiz; if ( ioctl(dfile->fd,SNDCTL_DSP_SYNC,0) != 0 ) - err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",sys_errlist[errno]); + err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",strerror(errno)); /* Seek to requested start sample */ lseek(wfile->fd,wfile->StartSample*byte_modulo,SEEK_CUR); @@ -620,8 +620,8 @@ if ( (n = read(wfile->fd,dfile->dspbuf,bytes)) != bytes ) { if ( n >= 0 ) - err("Unexpected EOF reading samples from WAV file",sys_errlist[errno=EIO]); - else err("Reading samples from WAV file",sys_errlist[errno]); + err("Unexpected EOF reading samples from WAV file",strerror(errno=EIO)); + else err("Reading samples from WAV file",strerror(errno)); goto errxit; } @@ -635,7 +635,7 @@ } if ( write(dfile->fd,dfile->dspbuf,n) != n ) { - err("Writing samples to audio device",sys_errlist[errno]); + err("Writing samples to audio device",strerror(errno)); goto errxit; } @@ -651,7 +651,7 @@ #if 0 /* I think this is doing a destructive flush: disabled */ if ( ioctl(dfile->fd,SNDCTL_DSP_SYNC,0) != 0 ) - err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",sys_errlist[errno]); + err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",strerror(errno)); #endif /* Update client time display at end of sucessful play */ if (clntIPC >= 0) { @@ -688,7 +688,7 @@ * Check that the WAVFILE is open for writing: */ if ( wfile->rw != 'W' ) { - err("WAVFILE must be open for writing",sys_errlist[errno=EINVAL]); + err("WAVFILE must be open for writing",strerror(errno=EINVAL)); return -1; } @@ -705,7 +705,7 @@ break; default : err("Cannot process %u bit samples", - sys_errlist[errno=EINVAL], + strerror(errno=EINVAL), (unsigned)wfile->wavinfo.DataBits); return -1; } @@ -716,7 +716,7 @@ if ( wfile->wavinfo.Channels == Stereo ) byte_count *= 2; /* Twice as many bytes for stereo */ else if ( wfile->wavinfo.Channels != Mono ) { - err("DSPFILE control block is corrupted (chan_mode)",sys_errlist[errno=EINVAL]); + err("DSPFILE control block is corrupted (chan_mode)",strerror(errno=EINVAL)); return -1; } @@ -747,7 +747,7 @@ * Read a block of samples: */ if ( (n = read(dfile->fd,dfile->dspbuf,bytes)) < 0 ) { - err("Reading DSP device",sys_errlist[errno]); + err("Reading DSP device",strerror(errno)); goto errxit; } else if ( n == 0 ) break; @@ -756,12 +756,12 @@ * Write a block of samples to the file: */ if ( (bytes = write(wfile->fd,dfile->dspbuf,n)) < 0 ) { - err("Writing WAV samples to %s",sys_errlist[errno],wfile->Pathname); + err("Writing WAV samples to %s",strerror(errno),wfile->Pathname); goto errxit; } else if ( bytes != n ) { if ( bytes > 0 ) bytes_written += bytes; - err("Did not write all WAV successfully",sys_errlist[errno=EIO]); + err("Did not write all WAV successfully",strerror(errno=EIO)); goto errxit; } --- wavplay-1.4/locks.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/locks.c 2003-03-11 10:31:04.000000000 +0100 @@ -125,7 +125,7 @@ */ if ( (ipc = semget(LockIPCKey,2,IPC_CREAT|IPC_EXCL|0666)) < 0 && errno != EEXIST ) { err("Unable to create a semaphore set for key 0x%lX", - sys_errlist[errno], + strerror(errno), LockIPCKey); return -1; /* No system IPC resources? */ } @@ -157,7 +157,7 @@ */ e = errno; /* Save error */ semctl(ipc,0,IPC_RMID,NULL); /* Destroy bad sems */ - err("%s: Unable to initialize semaphore set values",sys_errlist[errno=e]); + err("%s: Unable to initialize semaphore set values",strerror(errno=e)); return -1; /* Return err ind. */ } } @@ -199,7 +199,7 @@ } if ( s < 0 ) - err("%s: Locking the %s semaphore",sys_errlist[errno],playrecx?"Record":"Play"); + err("%s: Locking the %s semaphore",strerror(errno),playrecx?"Record":"Play"); /* * Exit this procedure: @@ -232,7 +232,7 @@ if ( s < 0 ) err("%s: Unlocking the %s semaphore", - sys_errlist[errno], + strerror(errno), playrecx?"Record":"Play"); return s; --- wavplay-1.4/main.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/main.c 2003-03-11 10:23:51.000000000 +0100 @@ -363,7 +363,7 @@ dup2(fd,2); close(fd); } else fprintf(stderr,"%s: cannot go quiet due to /dev/null\n", - sys_errlist[errno]); + strerror(errno)); } /* @@ -393,7 +393,7 @@ */ if ( wavopts.IPCKey && (wavopts.ipc = OpenDSPLocks(wavopts.IPCKey, !(wavopts.PlayLock.optChar | wavopts.RecdLock.optChar),v_erf)) < 0 ) { - err("%s: Unable to get audio locking semaphores.",sys_errlist[errno]); + err("%s: Unable to get audio locking semaphores.",strerror(errno)); exit(1); } @@ -405,7 +405,7 @@ * Remove old semaphore set : */ if ( semctl(wavopts.ipc,0,IPC_RMID,NULL) < 0 ) { - err("%s: Unable to remove old locking semaphores.",sys_errlist[errno]); + err("%s: Unable to remove old locking semaphores.",strerror(errno)); exit(1); } @@ -422,7 +422,7 @@ * Get replacement semaphores : */ if ( wavopts.IPCKey && (wavopts.ipc = OpenDSPLocks(wavopts.IPCKey,0,v_erf)) < 0 ) { - err("%s: Unable to get audio locking semaphores.",sys_errlist[errno]); + err("%s: Unable to get audio locking semaphores.",strerror(errno)); exit(1); } } @@ -431,7 +431,7 @@ * -u play unlock request : */ if ( wavopts.PlayLock.optChar == OPF_PLAY_UNLOCK && UnlockDSP(wavopts.ipc,0,v_erf) ) { - err("%s: -%c unlock request failed.",sys_errlist[errno],OPF_PLAY_UNLOCK); + err("%s: -%c unlock request failed.",strerror(errno),OPF_PLAY_UNLOCK); exit(1); } @@ -439,7 +439,7 @@ * -U record unlock request : */ if ( wavopts.RecdLock.optChar == OPF_RECD_UNLOCK && UnlockDSP(wavopts.ipc,1,v_erf) ) { - err("%s: -%c unlock request failed.",sys_errlist[errno],OPF_RECD_UNLOCK); + err("%s: -%c unlock request failed.",strerror(errno),OPF_RECD_UNLOCK); exit(1); } @@ -447,7 +447,7 @@ * -l play lock request : */ if ( wavopts.PlayLock.optChar == OPF_PLAY_LOCK && LockDSP(wavopts.ipc,0,v_erf,0) ) { - err("%s: -%c lock request failed.",sys_errlist[errno],OPF_PLAY_LOCK); + err("%s: -%c lock request failed.",strerror(errno),OPF_PLAY_LOCK); exit(1); } @@ -455,7 +455,7 @@ * -L record lock request : */ if ( wavopts.RecdLock.optChar == OPF_RECD_LOCK && LockDSP(wavopts.ipc,1,v_erf,0) ) { - err("%s: -%c lock request failed.",sys_errlist[errno],OPF_RECD_LOCK); + err("%s: -%c lock request failed.",strerror(errno),OPF_RECD_LOCK); exit(1); } --- wavplay-1.4/save_as.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/save_as.c 2003-03-11 10:23:31.000000000 +0100 @@ -81,7 +81,7 @@ if ( stat(RECORD_PATH,&src_stat) != 0 ) { if ( errno == ENOENT ) ReportErrorf("No file %s to 'save'.",RECORD_PATH); - else ReportErrorf("%s: doing stat on recorded.wav",sys_errlist[errno]); + else ReportErrorf("%s: doing stat on recorded.wav",strerror(errno)); return; } @@ -139,29 +139,29 @@ if ( !bCopy ) { if ( link(RECORD_PATH,path) == 0 ) { /* mv by linking.. */ if ( unlink(RECORD_PATH) != 0 ) /* And removing the old */ - ReportErrorf("%s: unlink(%s)",sys_errlist[errno]); + ReportErrorf("%s: unlink(%s)",strerror(errno)); goto rm; /* Success (or mostly success) */ } else ReportErrorf("%s: link(%s,%s)\nWill try a copy next..", - sys_errlist[errno],RECORD_PATH,path); + strerror(errno),RECORD_PATH,path); } /* * Copy the file, if control passes to here: */ if ( (ifd = open(RECORD_PATH,O_RDONLY,0)) < 0 ) { - ReportErrorf("%s: opening %s for read.",sys_errlist[errno],RECORD_PATH); + ReportErrorf("%s: opening %s for read.",strerror(errno),RECORD_PATH); goto xit; } if ( (ofd = open(path,O_WRONLY|O_CREAT|O_TRUNC,0644)) < 0 ) { - ReportErrorf("%s: opening %s for read.",sys_errlist[errno],path); + ReportErrorf("%s: opening %s for read.",strerror(errno),path); close(ifd); goto xit; } while ( (n = read(ifd,buf,sizeof buf)) > 0 ) if ( write(ofd,buf,n) < 0 ) { - ReportErrorf("%s: writing file %s for copy.",sys_errlist[errno],path); + ReportErrorf("%s: writing file %s for copy.",strerror(errno),path); close(ifd); close(ofd); unlink(path); @@ -169,7 +169,7 @@ } if ( n < 0 ) { - ReportErrorf("%s: reading file %s for copy.",sys_errlist[errno],RECORD_PATH); + ReportErrorf("%s: reading file %s for copy.",strerror(errno),RECORD_PATH); close(ifd); close(ofd); unlink(path); @@ -177,7 +177,7 @@ } if ( fsync(ofd) != 0 ) - ReportErrorf("%s: fsync(%s)",sys_errlist[errno],path); + ReportErrorf("%s: fsync(%s)",strerror(errno),path); if ( close(ofd) == 0 ) unlink(RECORD_PATH); /* Delete recorded.wav if copy successful */ close(ifd); --- wavplay-1.4/server.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/server.c 2003-03-11 11:36:00.000000000 +0100 @@ -326,7 +326,11 @@ /* * Tell client the pathname we're using for the recording: */ - strcpy(svr.path,RECORD_PATH); /* Always record to same place */ + if(strlen(RECORD_PATH) >= sizeof(svr.path)-1) { + fprintf(stderr, "Record path %s too long. Truncating.\n", RECORD_PATH); + } + strncpy(svr.path,RECORD_PATH, sizeof(svr.path)-1); /* Always record to same place */ + svr.path[sizeof(svr.path)-1]=0; msg.msg_type = ToClnt_Path; strcpy(msg.u.toclnt_path.path,svr.path); @@ -397,7 +401,7 @@ * Remove old semaphore set : */ if ( semctl(svr.lockIPCID,0,IPC_RMID,NULL) < 0 ) { - toclnt_fatal(0,"%s: Unable to remove old locking semaphores.",sys_errlist[errno]); + toclnt_fatal(0,"%s: Unable to remove old locking semaphores.",strerror(errno)); exit(13); } @@ -406,7 +410,7 @@ */ if ( (svr.lockIPCID = OpenDSPLocks(svr.IPCKey,1,x_erf)) < 0 ) { toclnt_fatal(0,"%s:\nAttempting to obtain new locking\nsemaphores.", - sys_errlist[errno]); + strerror(errno)); exit(13); } @@ -497,7 +501,7 @@ if ( sched_setscheduler(pid,SCHED_FIFO,&rtp) != 0 ) { z = errno; fprintf(stderr,"WARNING; %s: sched_setscheduler(%ld,SCHED_FIFO,) // priority=%d;\n", - sys_errlist[z],(long)pid,(int)SCHED_PRIORITY); + strerror(z),(long)pid,(int)SCHED_PRIORITY); if ( z == EPERM && rtp.sched_priority > 0 ) fputs("You need setuid root to use sched_setscheduler()\n",stderr); fflush(stderr); @@ -531,7 +535,7 @@ msg.bytes = 0; if ( MsgToClient(clntIPC,&msg,flags) != 0 ) { /* Send to client */ - ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",sys_errlist[errno],flags,clntIPC); + ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",strerror(errno),flags,clntIPC); exit(13); } } @@ -550,7 +554,7 @@ msg.u.toclnt_bits.DataBits = bits; if ( MsgToClient(clntIPC,&msg,flags) != 0 ) { /* Send to client */ - ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",sys_errlist[errno],flags,clntIPC); + ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",strerror(errno),flags,clntIPC); exit(13); } } @@ -602,7 +606,7 @@ msg.bytes = sizeof msg.u.toclnt_settings; if ( (z = MsgToClient(clntIPC,&msg,flags)) != 0 && flags && errno != EAGAIN ) { - toclnt_fatal(0,"%s: toclnt_settings(flags=0%o;ipc=%d)\n",sys_errlist[errno],flags,clntIPC); + toclnt_fatal(0,"%s: toclnt_settings(flags=0%o;ipc=%d)\n",strerror(errno),flags,clntIPC); exit(13); } @@ -645,7 +649,7 @@ [sizeof msg.u.toclnt_errmsg.msg - 1] = 0; if ( MsgToClient(clntIPC,&msg,flags) != 0 ) { /* Send to client */ - fprintf(stderr,"%s: toclnt_errmsg(...)\n",sys_errlist[errno]); + fprintf(stderr,"%s: toclnt_errmsg(...)\n",strerror(errno)); exit(13); } } --- wavplay-1.4/wavfile.c 1999-12-04 01:06:42.000000000 +0100 +++ wavplay-1.4/wavfile.c 2003-03-11 10:22:41.000000000 +0100 @@ -141,7 +141,7 @@ waveheader.nDataBytes = databytes; if (write (wavefile, &waveheader, sizeof (WAVE_HEADER)) != sizeof (WAVE_HEADER)) { - err("%s",sys_errlist[errno]); /* wwg: report the error */ + err("%s",strerror(errno)); /* wwg: report the error */ return WW_BADWRITEHEADER ; } @@ -157,7 +157,7 @@ v_erf = erf; /* wwg: Set error reporting function */ if (lseek (wavefile, 0L, SEEK_SET)) { - err("%s",sys_errlist[errno]); /* wwg: Report error */ + err("%s",strerror(errno)); /* wwg: Report error */ return WR_BADSEEK ; }