Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > 25a7178bb4cc0509a1e8382602473b4c > files > 5

sfio-1999-10mdv2007.1.src.rpm

--- 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"