Bonjour tout le monde
J'ai un petit ennui avec getopt... J'essaye de recuperer plusieurs valeurs pour une option mais apparement les options suivantes ne sont plus prises en compte...

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
 
  while ((c = getopt(argc, argv, "p:x:y:c:t:vn::" )) != EOF)
  {
      if (c == 'p')
    env.port  = atoi(optarg);
      else if (c == 'x')
    env.map_x = atoi(optarg);
      else if (c == 'y')
    env.map_y = atoi(optarg);
      else if (c == 'c')
    env.max_players = atoi(optarg);
      else if (c == 't')
    env.cronos = atoi(optarg);
      else if (c == 'v')
    env.verbose = 1;
      else if (c == 'n')
    {
      env.teams = xmalloc(3 * sizeof(*env.teams));
      env.teams[2] = "\0";
      env.teams[0] = strdup(optarg);
      optarg += (strlen(env.teams[0]) + 1);
      env.teams[1] = strdup(optarg);
    }
  }
et je lance cette commande :
./serveur -p 39115 -x 666 -y 69 -v-n LoL Ookay -t 4242 -c 11

Le resultat :

map_x : 666
map_y : 69
port : 39115
Team 1 : LoL
Team 2 : Ookay
verbose : 1
max_players : 0
cronos : 0

En fait le getopt ignore toutes les options passees apres...


Quelqu'un aurait il une petite idee ? Merci d'avance !