Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       rpmatch - Déterminer si la réponse à une question est affirmative ou négative

SYNOPSIS

       #include <stdlib.h>

       int rpmatch(const char *réponse);

   Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

       rpmatch():
           Since glibc 2.19:
               _DEFAULT_SOURCE
           Glibc 2.19 and earlier:
               _SVID_SOURCE

DESCRIPTION

       rpmatch()   gère   une   réponse  d'un  utilisateur  à  une  question  oui  ou  non,  avec  support  pour
       l'internationalisation.

       réponse doit être une chaîne de caractères, terminée par le caractère nul, contenant une réponse  fournie
       par un utilisateur, peut-être obtenue avec fgets(3) ou getline(3).

       La  préférence  de  langue  de  l'utilisateur est prise en compte par les variables d'environnement LANG,
       LC_MESSAGES et LC_ALL si le programme a appelé setlocale(3) pour effectuer leurs modifications.

       Regardless of the locale, responses matching ^[Yy] are always accepted as affirmative, and those matching
       ^[Nn] are always accepted as negative.

VALEUR RENVOYÉE

       Après l'examen de réponse, rpmatch() renvoie 0 dans le cas d'une réponse négative (« Non »),  1  dans  le
       cas d'une réponse affirmative (« Oui »), et -1 si la valeur de réponse n'est pas reconnue.

ERREURS

       Une  valeur de retour de -1 indique soit une entrée invalide, soit une autre erreur. Il n'est pas correct
       de ne tester que la non nullité de la valeur de retour.

       rpmatch() peut échouer pour les mêmes raisons que regcomp(3)  ou  regexec(3)  échouerait ;  la  cause  de
       l'erreur  n'est  pas  disponible  dans  errno  ou  ailleurs mais indique un échec du moteur d'expressions
       rationnelles (mais ce cas ne peut pas être distingué de celui d'une valeur de réponse non reconnue).

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).
       ┌───────────┬──────────────────────┬────────────────┐
       │ InterfaceAttributValeur         │
       ├───────────┼──────────────────────┼────────────────┤
       │ rpmatch() │ Sécurité des threads │ MT-Safe locale │
       └───────────┴──────────────────────┴────────────────┘

CONFORMITÉ

       rpmatch() n'est requise par aucun standard mais est disponible sur quelques autres systèmes.

BOGUES

       The rpmatch()  implementation looks at only the first character of 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 regex(7)):
       ^([yY]|yes|YES)$ and ^([nN]|no|NO)$.

EXEMPLES

       Le programme exemple suivant affiche les résultats lorsque rpmatch() est appliqué  à  la  chaîne  fournie
       comme argument de la ligne de commande du programme.

       #define _SVID_SOURCE
       #include <locale.h>
       #include <stdlib.h>
       #include <string.h>
       #include <stdio.h>

       int
       main(int argc, char *argv[])
       {
           if (argc != 2 || strcmp(argv[1], "--help") == 0) {
               fprintf(stderr, "%s réponse\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           setlocale(LC_ALL, "");
           printf("rpmatch() a renvoyé : %d\n", rpmatch(argv[1]));
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       fgets(3), getline(3), nl_langinfo(3), regcomp(3), setlocale(3)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions  pour  signaler  des  anomalies et la dernière version de cette page peuvent être trouvées à
       l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier   <barbier@debian.org>   et    David    Prévot
       <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

GNU                                                9 juin 2020                                        RPMATCH(3)