--- src/lib/sfio/sfputr.c.old Fri Apr 6 11:37:16 2001 +++ src/lib/sfio/sfputr.c Fri Apr 6 11:37:46 2001 @@ -24,6 +24,7 @@ for(w = 0; (*s || rc >= 0); ) { SFWPEEK(f,ps,p); + if(p == -1) return -1; if(p == 0 || (f->flags&SF_WHOLE) ) { n = strlen(s); if(p >= (n + (rc < 0 ? 0 : 1)) ) --- src/lib/sfio/makefile Fri Jun 18 19:31:11 1999 +++ src/lib/sfio/makefile.new Fri Apr 6 15:42:51 2001 @@ -52,7 +52,11 @@ .c.o: $(CC) -c $(CCFLAGS) $*.c -all: install +all: libsfio.a libstdio.a install + +# Make sure to set -fPIC flag before building libsfio.so +libsfio.so: ast_common.h FEATURE/sfio $(OBJS) mksfio_f mkstdio_s mksfio_dc + $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(SFIO_F) $(STDIO_S) $(SFIO_DC) -lc libsfio.a: ast_common.h FEATURE/sfio $(OBJS) mksfio_f mkstdio_s mksfio_dc $(AR) cr libsfio.a $(OBJS) $(SFIO_F) $(STDIO_S) $(SFIO_DC) @@ -75,14 +79,16 @@ cd Stdio_b; $(MAKE) -f Makefile SHELL=$(SHELL) CC="$(CC)" \ CCMODE="$(CCMODE)" CXFLAGS="$(CXFLAGS)" -install: libsfio.a libstdio.a +install: cp sfio.h ast_common.h sfio_t.h Stdio_s/stdio.h $(INCDIR) - cp libsfio.a Stdio_b/libstdio.a $(LIBDIR) + [ ! -f libsfio.a ] || cp libsfio.a $(LIBDIR) + [ ! -f Stdio_b/libstdio.a ] || cp Stdio_b/libstdio.a $(LIBDIR) + [ ! -f libsfio.so ] || cp libsfio.so $(LIBDIR) -(ranlib $(LIBDIR)/libsfio.a; exit 0) >/dev/null 2>&1 -(ranlib $(LIBDIR)/libstdio.a; exit 0) >/dev/null 2>&1 clean: - -(rm FEATURE/* $(OBJS) ast_common.h libsfio.a; exit 0) >/dev/null 2>&1 + -(rm FEATURE/* $(OBJS) ast_common.h libsfio.a libsfio.so; exit 0) >/dev/null 2>&1 cd Sfio_f; $(MAKE) -f Makefile SHELL=$(SHELL) clean cd Stdio_s; $(MAKE) -f Makefile SHELL=$(SHELL) clean cd Stdio_b; $(MAKE) -f Makefile SHELL=$(SHELL) clean --- man/man3/sfio.3.old +++ man/man3/sfio.3 @@ -16,6 +16,9 @@ .nf .ft 5 #include <sfio.h> +.br +.sp +cc ... -I/usr/include/sfio -lsfio .ft 1 .fi .Ss "DATA TYPES"