Hello,

This prepares the upcoming libc bump and fixes which are need to
complete 'make test'.  This program doesn't seem to be maintained.  If
none is using this, I think deleting this is another way.

ok? comments?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/sfio/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- Makefile    11 Mar 2022 18:53:26 -0000      1.13
+++ Makefile    21 Jul 2023 08:38:46 -0000
@@ -2,7 +2,7 @@ COMMENT=        Safe/Fast I/O Library
 
 VERSION=       2002
 PKGNAME=       sfio-${VERSION}
-REVISION =     3
+REVISION =     4
 DISTNAME=      sfio_${VERSION}.src.unix_tar
 CATEGORIES=    devel
 
Index: patches/patch-src_lib_sfio_Sfio_t_runtest
===================================================================
RCS file: /cvs/ports/devel/sfio/patches/patch-src_lib_sfio_Sfio_t_runtest,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-src_lib_sfio_Sfio_t_runtest
--- patches/patch-src_lib_sfio_Sfio_t_runtest   12 May 2003 07:25:32 -0000      
1.1.1.1
+++ patches/patch-src_lib_sfio_Sfio_t_runtest   21 Jul 2023 08:38:46 -0000
@@ -1,6 +1,8 @@
---- src/lib/sfio/Sfio_t/runtest.orig   Sat Apr 26 06:25:02 2003
-+++ src/lib/sfio/Sfio_t/runtest        Sat Apr 26 06:25:04 2003
-@@ -75,7 +75,7 @@
+Return 1 if test fail
+Index: src/lib/sfio/Sfio_t/runtest
+--- src/lib/sfio/Sfio_t/runtest.orig
++++ src/lib/sfio/Sfio_t/runtest
+@@ -75,13 +75,13 @@ do
        if $CC -g $DEFS $HDRS $i $LIBS -o ./t
        then
                if ./t
@@ -9,3 +11,10 @@
                else    status=Failed
                fi
        else    status="Not compiled"
+       fi
+       echo "  $status"
+       if test "$status" != "Passed"
+-      then if test "$exit_on_fail" = "1"; then exit; fi
++      then if test "$exit_on_fail" = "1"; then exit 1; fi
+       fi
+ done
Index: patches/patch-src_lib_sfio_Sfio_t_sftest_h
===================================================================
RCS file: patches/patch-src_lib_sfio_Sfio_t_sftest_h
diff -N patches/patch-src_lib_sfio_Sfio_t_sftest_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_Sfio_t_sftest_h  21 Jul 2023 08:38:46 -0000
@@ -0,0 +1,13 @@
+Index: src/lib/sfio/Sfio_t/sftest.h
+--- src/lib/sfio/Sfio_t/sftest.h.orig
++++ src/lib/sfio/Sfio_t/sftest.h
+@@ -1,5 +1,9 @@
+ #include      "../FEATURE/sfio"
+ 
++#if _hdr_stdarg
++#include      <stdarg.h>
++#endif
++
+ #if _SFIO_H_ONLY
+ #include      <sfio.h>
+ #else
Index: patches/patch-src_lib_sfio_Sfio_t_terror_h
===================================================================
RCS file: /cvs/ports/devel/sfio/patches/patch-src_lib_sfio_Sfio_t_terror_h,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-src_lib_sfio_Sfio_t_terror_h
--- patches/patch-src_lib_sfio_Sfio_t_terror_h  12 May 2003 07:25:32 -0000      
1.1.1.1
+++ patches/patch-src_lib_sfio_Sfio_t_terror_h  21 Jul 2023 08:38:46 -0000
@@ -1,6 +1,7 @@
---- src/lib/sfio/Sfio_t/terror.h.orig  Sat Apr 26 06:28:15 2003
-+++ src/lib/sfio/Sfio_t/terror.h       Sat Apr 26 06:29:29 2003
-@@ -119,7 +119,7 @@
+Index: src/lib/sfio/Sfio_t/terror.h
+--- src/lib/sfio/Sfio_t/terror.h.orig
++++ src/lib/sfio/Sfio_t/terror.h
+@@ -119,7 +119,7 @@ va_list    args;
  
        s = buf;
        if(line >= 0)
@@ -9,7 +10,7 @@
                s += strlen(s);
        }
        vsprintf(s,form,args);
-@@ -152,7 +152,7 @@
+@@ -152,7 +152,7 @@ va_dcl
        form = va_arg(args,char*);
  #endif
  
@@ -18,7 +19,7 @@
        tstputmesg(Tstline,failform,args);
  
        va_end(args);
-@@ -229,7 +229,8 @@
+@@ -229,7 +229,8 @@ int        n;
        if(!Tstfile[n][0])
        {
  #ifdef DEBUG
@@ -28,7 +29,7 @@
  #else
                static int      pid;
                static char*    tmp;
-@@ -238,7 +239,8 @@
+@@ -238,7 +239,8 @@ int        n;
                                tmp = "/tmp";
                        pid = (int)getpid() % 10000;
                  }
Index: patches/patch-src_lib_sfio_Sfio_t_twhole_c
===================================================================
RCS file: patches/patch-src_lib_sfio_Sfio_t_twhole_c
diff -N patches/patch-src_lib_sfio_Sfio_t_twhole_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_Sfio_t_twhole_c  21 Jul 2023 08:38:46 -0000
@@ -0,0 +1,24 @@
+SF_WHOLE is to expect sfwrite() and sfputs write the data to the device
+immediately.  So Count == 100 or no buffering is expected.
+
+Index: src/lib/sfio/Sfio_t/twhole.c
+--- src/lib/sfio/Sfio_t/twhole.c.orig
++++ src/lib/sfio/Sfio_t/twhole.c
+@@ -42,7 +42,7 @@ MAIN()
+               if(sfwrite(f,s,52) != 52)
+                       terror("sfwrite failed\n");
+       sfclose(f);
+-      if(Count != 10)
++      if(Count != 100)
+               terror("Wrong number of writes1\n");
+ 
+       Count = 0;
+@@ -58,7 +58,7 @@ MAIN()
+               if(sfputr(f,s,'\n') != 53)
+                       terror("sfputr failed\n");
+       sfclose(f);
+-      if(Count != 10)
++      if(Count != 100)
+               terror("Wrong number of writes2\n");
+ 
+       TSTEXIT(0);
Index: patches/patch-src_lib_sfio_Stdio_b_no_stdio_h
===================================================================
RCS file: patches/patch-src_lib_sfio_Stdio_b_no_stdio_h
diff -N patches/patch-src_lib_sfio_Stdio_b_no_stdio_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_Stdio_b_no_stdio_h       21 Jul 2023 08:38:46 
-0000
@@ -0,0 +1,10 @@
+Index: src/lib/sfio/Stdio_b/no_stdio.h
+--- src/lib/sfio/Stdio_b/no_stdio.h.orig
++++ src/lib/sfio/Stdio_b/no_stdio.h
+@@ -65,4 +65,6 @@
+ #define _FILEDEFED    1       /* stop SUNOS5.8 ...                    */
+ #define __FILE_defined        1       /* stop Linux ...                       
*/
+ 
++#define _STDFILES_DECLARED    1       /* stop OpenBSD */
++
+ #endif/*_NO_STDIO_H*/
Index: patches/patch-src_lib_sfio_Stdio_b_stdstream_c
===================================================================
RCS file: patches/patch-src_lib_sfio_Stdio_b_stdstream_c
diff -N patches/patch-src_lib_sfio_Stdio_b_stdstream_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_Stdio_b_stdstream_c      21 Jul 2023 08:38:46 
-0000
@@ -0,0 +1,19 @@
+Index: src/lib/sfio/Stdio_b/stdstream.c
+--- src/lib/sfio/Stdio_b/stdstream.c.orig
++++ src/lib/sfio/Stdio_b/stdstream.c
+@@ -240,6 +240,7 @@ FILE*      f;
+       if(sm && !ISSYNC(f))
+               _sfstdsync(sf);
+ 
++      SFMTXLOCK(sf);
+       if((sf->mode&SF_RDWR) != sf->mode)
+       {       flags = sf->flags; sf->flags |= SF_SHARE|SF_PUBLIC;
+               n = _sfmode(sf,0,0);
+@@ -247,6 +248,7 @@ FILE*      f;
+               if(n < 0)
+                       sfclrlock(sf);
+       }
++      SFMTXUNLOCK(sf);
+ 
+       if(sm)
+               _stdclrerr(f);
Index: patches/patch-src_lib_sfio_Stdio_t_runtest
===================================================================
RCS file: patches/patch-src_lib_sfio_Stdio_t_runtest
diff -N patches/patch-src_lib_sfio_Stdio_t_runtest
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_Stdio_t_runtest  21 Jul 2023 08:38:46 -0000
@@ -0,0 +1,12 @@
+Return 1 if test fail
+Index: src/lib/sfio/Stdio_t/runtest
+--- src/lib/sfio/Stdio_t/runtest.orig
++++ src/lib/sfio/Stdio_t/runtest
+@@ -114,6 +114,6 @@ do
+       fi
+       echo "  $status"
+       if test "$status" != "Passed"
+-      then if test "$exit_on_fail" = "1"; then exit; fi
++      then if test "$exit_on_fail" = "1"; then exit 1; fi
+       fi
+ done
Index: patches/patch-src_lib_sfio_sffilbuf_c
===================================================================
RCS file: patches/patch-src_lib_sfio_sffilbuf_c
diff -N patches/patch-src_lib_sfio_sffilbuf_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_sffilbuf_c       21 Jul 2023 08:38:46 -0000
@@ -0,0 +1,14 @@
+f->data and f->next might be overwrap.
+
+Index: src/lib/sfio/sffilbuf.c
+--- src/lib/sfio/sffilbuf.c.orig
++++ src/lib/sfio/sffilbuf.c
+@@ -48,7 +48,7 @@ reg int      n;      /* see above */
+                       /* try shifting left to make room for new data */
+                       if(!(f->bits&SF_MMAP) && f->next > f->data &&
+                          n > (f->size - (f->endb-f->data)) )
+-                      {       memcpy(f->data, f->next, r);
++                      {       memmove(f->data, f->next, r);
+                               f->next = f->data;
+                               f->endb = f->data + r;
+                       }
Index: patches/patch-src_lib_sfio_sfputr_c
===================================================================
RCS file: patches/patch-src_lib_sfio_sfputr_c
diff -N patches/patch-src_lib_sfio_sfputr_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_lib_sfio_sfputr_c 21 Jul 2023 08:38:46 -0000
@@ -0,0 +1,12 @@
+Index: src/lib/sfio/sfputr.c
+--- src/lib/sfio/sfputr.c.orig
++++ src/lib/sfio/sfputr.c
+@@ -28,7 +28,7 @@ reg int              rc;     /* record separator.    */
+ 
+               if(p == 0 || (f->flags&SF_WHOLE) )
+               {       n = strlen(s);
+-                      if(p >= (n + (rc < 0 ? 0 : 1)) )
++                      if( !(f->flags&SF_WHOLE) && p >= (n + (rc < 0 ? 0 : 1)) 
)
+                       {       /* buffer can hold everything */
+                               if(n > 0)
+                               {       memcpy(ps, s, n);

Reply via email to