handles a user response to yes or no questions, with
support for internationalization.
-\fIresponse\fP should be a null-terminated string containing a
+.I response
+should be a null-terminated string containing a
user-supplied response, perhaps obtained with
.BR fgets (3)
or
.BR getline (3).
The user's language preference is taken into account per the
-environment variables \fBLANG\fP, \fBLC_MESSAGES\fP, and \fBLC_ALL\fP,
+environment variables
+.BR LANG ,
+.BR LC_MESSAGES ,
+and
+.BR LC_ALL ,
if the program has called
.BR setlocale (3)
to effect their changes.
-Regardless of the locale, responses matching \fB^[Yy]\fP are always
-accepted as affirmative, and those matching \fB^[Nn]\fP are always
-accepted as negative.
+Regardless of the locale, responses matching
+.B ^[Yy]
+are always accepted as affirmative, and those matching
+.B ^[Nn]
+are always accepted as negative.
.SH RETURN VALUE
After examining
.IR response ,
.BR rpmatch ()
returns 0 for a recognized negative response ("no"), 1
for a recognized positive response ("yes"), and \-1 when the value
-of \fIresponse\fP is unrecognized.
+of
+.I response
+is unrecognized.
.SH ERRORS
A return value of \-1 may indicate either an invalid input, or some
other error.
or
.BR regexec (3)
can fail; the cause of the error
-is not available from \fIerrno\fP or anywhere else, but indicates a
+is not available from
+.I errno
+or anywhere else, but indicates a
failure of the regex engine (but this case is indistinguishable from
-that of an unrecognized value of \fIresponse\fP).
+that of an unrecognized value of
+.IR response ).
.SH CONFORMING TO
.BR rpmatch ()
is not required by any standard, but
The
.BR rpmatch ()
implementation looks at only the first character
-of \fIresponse\fP.
+of
+.IR response .
As a consequence, "nyes" returns 0, and
"ynever; not in a million years" returns 1.
It would be preferable to accept input strings much more
strictly, for example (using the extended regular
expression notation described in
.BR regex (7)):
-\fB^([yY]|yes|YES)$\fP and \fB^([nN]|no|NO)$\fP.
+.B ^([yY]|yes|YES)$
+and
+.BR ^([nN]|no|NO)$ .
.SH EXAMPLE
The following program displays the results when
.BR rpmatch ()
.BR nl_langinfo (3),
.BR regcomp (3),
.BR setlocale (3)
+.SH COLOPHON
+This page is part of release 3.65 of the Linux
+.I man-pages
+project.
+A description of the project,
+and information about reporting bugs,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.