Module Name: src Committed By: riastradh Date: Fri Nov 1 18:42:30 UTC 2024
Modified Files: src/distrib/sets/lists/comp: mi src/include: strings.h src/lib/libc/string: Makefile.inc ffs.3 Log Message: ffs(3): Fix visibility in strings.h and add MLINKS for ffsl/ffsll. ffs(3) was added in POSIX 2001 with XSI option (_XOPEN_SOURCE>=600), not in POSIX 2008 with XSI option (_XOPEN_SOURCE>=700). Noticed while updating the STANDARDS section of the man page. PR lib/58802: missing ffsl(), ffsll() functions from POSIX 2024 To generate a diff of this commit: cvs rdiff -u -r1.2478 -r1.2479 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.19 -r1.20 src/include/strings.h cvs rdiff -u -r1.91 -r1.92 src/lib/libc/string/Makefile.inc cvs rdiff -u -r1.13 -r1.14 src/lib/libc/string/ffs.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.2478 src/distrib/sets/lists/comp/mi:1.2479 --- src/distrib/sets/lists/comp/mi:1.2478 Wed Oct 30 18:09:16 2024 +++ src/distrib/sets/lists/comp/mi Fri Nov 1 18:42:29 2024 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.2478 2024/10/30 18:09:16 christos Exp $ +# $NetBSD: mi,v 1.2479 2024/11/01 18:42:29 riastradh Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. ./etc/mtree/set.comp comp-sys-root @@ -7744,6 +7744,8 @@ ./usr/share/man/cat3/feupdateenv.0 comp-c-catman .cat ./usr/share/man/cat3/fflush.0 comp-c-catman .cat ./usr/share/man/cat3/ffs.0 comp-c-catman .cat +./usr/share/man/cat3/ffsl.0 comp-c-catman .cat +./usr/share/man/cat3/ffsll.0 comp-c-catman .cat ./usr/share/man/cat3/ffs32.0 comp-c-catman .cat ./usr/share/man/cat3/ffs64.0 comp-c-catman .cat ./usr/share/man/cat3/fgetc.0 comp-c-catman .cat @@ -16283,6 +16285,8 @@ ./usr/share/man/html3/feupdateenv.html comp-c-htmlman html ./usr/share/man/html3/fflush.html comp-c-htmlman html ./usr/share/man/html3/ffs.html comp-c-htmlman html +./usr/share/man/html3/ffsl.html comp-c-htmlman html +./usr/share/man/html3/ffsll.html comp-c-htmlman html ./usr/share/man/html3/ffs32.html comp-c-htmlman html ./usr/share/man/html3/ffs64.html comp-c-htmlman html ./usr/share/man/html3/fgetc.html comp-c-htmlman html @@ -24760,6 +24764,8 @@ ./usr/share/man/man3/feupdateenv.3 comp-c-man .man ./usr/share/man/man3/fflush.3 comp-c-man .man ./usr/share/man/man3/ffs.3 comp-c-man .man +./usr/share/man/man3/ffsl.3 comp-c-man .man +./usr/share/man/man3/ffsll.3 comp-c-man .man ./usr/share/man/man3/ffs32.3 comp-c-man .man ./usr/share/man/man3/ffs64.3 comp-c-man .man ./usr/share/man/man3/fgetc.3 comp-c-man .man Index: src/include/strings.h diff -u src/include/strings.h:1.19 src/include/strings.h:1.20 --- src/include/strings.h:1.19 Fri Nov 1 18:35:12 2024 +++ src/include/strings.h Fri Nov 1 18:42:30 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: strings.h,v 1.19 2024/11/01 18:35:12 riastradh Exp $ */ +/* $NetBSD: strings.h,v 1.20 2024/11/01 18:42:30 riastradh Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -55,7 +55,7 @@ int bcmp(const void *, const void *, si void bcopy(const void *, void *, size_t); void bzero(void *, size_t); #endif -#if defined(_NETBSD_SOURCE) || _XOPEN_SOURCE - 0 >= 700 +#if defined(_NETBSD_SOURCE) || _XOPEN_SOURCE - 0 >= 600 int ffs(int) __constfunc; #endif #if defined(_NETBSD_SOURCE) || _XOPEN_SOURCE - 0 >= 800 Index: src/lib/libc/string/Makefile.inc diff -u src/lib/libc/string/Makefile.inc:1.91 src/lib/libc/string/Makefile.inc:1.92 --- src/lib/libc/string/Makefile.inc:1.91 Fri Nov 1 18:35:12 2024 +++ src/lib/libc/string/Makefile.inc Fri Nov 1 18:42:30 2024 @@ -1,5 +1,5 @@ # from: @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $NetBSD: Makefile.inc,v 1.91 2024/11/01 18:35:12 riastradh Exp $ +# $NetBSD: Makefile.inc,v 1.92 2024/11/01 18:42:30 riastradh Exp $ # string sources .PATH: ${ARCHDIR}/string ${.CURDIR}/string @@ -55,6 +55,8 @@ MAN+= bm.3 bcmp.3 bcopy.3 bstring.3 bzer swab.3 wcstok.3 wcswidth.3 wmemchr.3 wcsdup.3 wcscasecmp.3 MLINKS+=bm.3 bm_comp.3 bm.3 bm_exec.3 bm.3 bm_free.3 +MLINKS+=ffs.3 ffsl.3 +MLINKS+=ffs.3 ffsll.3 MLINKS+=popcount.3 popcountl.3 MLINKS+=popcount.3 popcountll.3 MLINKS+=popcount.3 popcount32.3 Index: src/lib/libc/string/ffs.3 diff -u src/lib/libc/string/ffs.3:1.13 src/lib/libc/string/ffs.3:1.14 --- src/lib/libc/string/ffs.3:1.13 Wed Apr 28 07:47:09 2010 +++ src/lib/libc/string/ffs.3 Fri Nov 1 18:42:30 2024 @@ -28,13 +28,15 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)ffs.3 8.2 (Berkeley) 4/19/94 -.\" $NetBSD: ffs.3,v 1.13 2010/04/28 07:47:09 jruoho Exp $ +.\" $NetBSD: ffs.3,v 1.14 2024/11/01 18:42:30 riastradh Exp $ .\" -.Dd April 28, 2010 +.Dd November 1, 2024 .Dt FFS 3 .Os .Sh NAME .Nm ffs +.Nm ffsl +.Nm ffsll .Nd find first bit set in a bit string .Sh LIBRARY .Lb libc @@ -42,24 +44,36 @@ .In strings.h .Ft int .Fn ffs "int value" +.Fn ffsl "long value" +.Fn ffsll "long long value" .Sh DESCRIPTION The -.Fn ffs -function finds the first bit set in +.Fn ffs , +.Fn ffsl , +and +.Fn ffsll +functions find the first bit set in .Fa value -and returns the index of that bit. +and return the index of that bit. Bits are numbered starting from 1, starting at the right-most bit. A return value of 0 means that the argument was zero. .Sh SEE ALSO .Xr bitstring 3 , .Xr ffs32 3 , +.Xr ffs64 3 , .Xr popcount 3 .Sh STANDARDS The .Fn ffs function conforms to .St -p1003.1-2001 . +The +.Fn ffsl +and +.Fn ffsll +functions conform to +.St -p1003.1-2024 . .Sh HISTORY The .Fn ffs