Forum Programmation.c pppd retourne toujours 0

Posté par  .
Étiquettes : aucune
0
12
août
2006
bonjour a tous

int a=system("pppd call eagle");
printf("\n Résultat: %d",WEXITSTATUS(a));

pppd est sensé renvoyé 0 si tout se passe bien, mais même quand je mets un mauvais mot de passe dans pap-secrets, pppd retourne aussi un 0, pourtant dans le fichier log j'ai bien un "PAP authentication failed".
quelqu'un aurait une idée?

merci
  • # re: pppd

    Posté par  . Évalué à 1.

    Bonjour,

    d'après la doc

    WEXITSTATUS (status)
    (si WIFEXITED (status) renvoie vrai) renvoie le code de retour du processus fils passé à _exit() ou exit() ou la valeur retournée par la fonction main() ;

    Donc WEXITSTATUS fonctionne que si le code de retour n'est pas une érreur.

    Je verrais donc bien un truc du genre:

    if (WIFEXITED (a))
    printf ("\n Résultat: %d",WEXITSTATUS(a));
    else
    printf ("\n Résultat: Erreur");

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.