.\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
.\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\"
-.TH GETSUBOPT 3 2008-05-29 "GNU" "Linux Programmer's Manual"
+.TH GETSUBOPT 3 2010-09-26 "GNU" "Linux Programmer's Manual"
.SH NAME
getsubopt \- parse suboption arguments from a string
.SH SYNOPSIS
-.B #define _XOPEN_SOURCE 500
-.br
.B #include <stdlib.h>
.BI "int getsubopt(char **"optionp ", char * const *" tokens \
", char **" valuep );
+.sp
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.sp
+.BR getsubopt ():
+.ad l
+.RS 4
+.PD 0
+_XOPEN_SOURCE\ >= 500 ||
+_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+.br
+|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
+.PD
+.RE
+.ad
.SH DESCRIPTION
.BR getsubopt ()
parses the list of comma-separated suboptions provided in
.BR getsubopt ()
returns,
.I optionp
-points to the next suboption, or to the null character at the end of the
+points to the next suboption,
+or to the null byte ('\\0') at the end of the
string if the last suboption was just processed.
.SH RETURN VALUE
If the first suboption in