.\"
.\" Modified 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH FFS 3 2015-08-08 "GNU" "Linux Programmer's Manual"
+.TH FFS 3 2017-09-15 "GNU" "Linux Programmer's Manual"
.SH NAME
ffs, ffsl, ffsll \- find first bit set in a word
.SH SYNOPSIS
.nf
.B #include <strings.h>
-.sp
+.PP
.BI "int ffs(int " i );
-.sp
+.PP
.B #include <string.h>
-.sp
+.PP
.BI "int ffsl(long int " i );
-.sp
+.PP
.BI "int ffsll(long long int " i );
.fi
-.sp
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
+.PP
.PD 0
.ad l
-.sp
.BR ffs ():
.RS 4
.TP 4
Since glibc 2.12:
-_SVID_SOURCE || _BSD_SOURCE ||
-_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700 ||
+ _XOPEN_SOURCE >= 700
+ || ! (_POSIX_C_SOURCE\ >=\ 200809L)
+ || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.TP
Before glibc 2.12:
none
.BR ffsl (),
.BR ffsll ():
.RS 4
-_GNU_SOURCE
+.PD 0
+.TP 4
+Since glibc 2.27:
+.\" glibc commit 68fe16dd327c895c08b9ee443b234c49c13b36e9
+ _DEFAULT_SOURCE
+.TP
+Before glibc 2.27:
+ _GNU_SOURCE
+.PD
.RE
.ad
.PD
.SH CONFORMING TO
.BR ffs ():
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-
+.PP
The
.BR ffsl ()
and