On Fri, Jul 21, 2023 at 05:52:35PM +0900, YASUOKA Masahiko wrote:
> 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?

I am ok with committing your update as it is.

I am also ok with removing the port afterward. It seems ancient and,
given the numerous warnings it emits, in rather poor shape.

Tests don't compile on arm64 since it seems to need libm. Please don't
spend time on this.

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