Bonjour

Je suis actuellement entrain de développer (plutôt commencer) un programme qui va me permettre de mettre à jour mon système OpenBSD.

Pour le moment, le code est très petit mais ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
void usage(void);
 
int f_getfile;
 
int
main(int argc, char *argv[])
{
    int ch;
 
    while ((ch = getopt(argc, argv, "g")) != 1)
        switch (ch) {
            case 'g':
                f_getfile = 1;
                break;
            default:
                usage();
        }
    if (f_getfile)
    {
        printf("coucou");
    }
    exit(0);
}
 
void
usage(void)
{
    extern char *__progname;
 
    (void)fprintf(stderr,
        "usage: %s [-g [src | ports | all]]\n"
        "       %s [-u [src | ports | all]]\n"
        "       %s [-c [kernel | userland]]\n"
        "       %s [-i [kernel]]\n"
        , __progname, __progname, __progname, __progname);
    exit(1);
}
Lorsque j'exécute update -g du moins d'après ce que j'ai écrit, il devrait m'afficher "coucou" hors, il ne se passe rien

update -g tout court ne sert à rien à moins d'indiquer src|ports|all afin de pouvoir télécharger les fichiers sources. D'où ma question, dois-je dans le if (f_getfile) utiliser à nouveau switch case ?

Merci d'avance