plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 0b917997919b470edc949b0cf7af62f160885f5e
parent 1ae0de511a26ab944bccf7eba89c3718697cd366
Author: rsc <devnull@localhost>
Date:   Thu,  4 Mar 2004 02:36:36 +0000

Fix rc not to bus error on Mac OS X.
Don't print about child notes either.

Diffstat:
Msrc/cmd/rc/io.c | 7++++++-
Msrc/cmd/rc/io.h | 6++++++
Msrc/cmd/rc/plan9ish.c | 4++--
3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/cmd/rc/io.c b/src/cmd/rc/io.c @@ -126,10 +126,13 @@ void flush(io *f) } } io *openfd(int fd){ - io *f=new(struct io); + io *f; +fprint(2, "in openfd\n"); + f=new(struct io); f->fd=fd; f->bufp=f->ebuf=f->buf; f->strp=0; +fprint(2, "in openfd\n"); return f; } io *openstr(void){ @@ -155,6 +158,7 @@ io *opencore(char *s, int len) Memcpy(buf, s, len); return f; } +/* void rewind(io *io) { if(io->fd==-1) io->bufp=io->strp; @@ -163,6 +167,7 @@ void rewind(io *io) Seek(io->fd, 0L, 0); } } +*/ void closeio(io *io) { if(io->fd>=0) close(io->fd); diff --git a/src/cmd/rc/io.h b/src/cmd/rc/io.h @@ -1,3 +1,9 @@ +/* + * on Mac OS X, err is something else, + * and assigning to it causes a bus error. + * what a crappy linker. + */ +#define err rc_err #define EOF (-1) #define NBUF 512 struct io{ diff --git a/src/cmd/rc/plan9ish.c b/src/cmd/rc/plan9ish.c @@ -400,8 +400,8 @@ notifyf(void *unused0, char *s) if(strncmp(s, "sys: ", 5)!=0) interrupted=1; goto Out; } - - pfmt(err, "rc: note: %s\n", s); + if(strcmp(s, "sys: child") != 0) + pfmt(err, "rc: note: %s\n", s); noted(NDFLT); return; Out: