Bonsoir,
J'ai un petit soucis avec de warning avec mon code :



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
 
char    **directory(char *const envp[])
{
  struct s_var  flop;
  char          *str;
  char          **res;
 
  flop.i = 0;
  flop.o = 0;
  flop.j = 0;
  flop.b = 5;
  str = xmalloc(sizeof(*str) * 50);
  res = xmalloc(sizeof(*res) * 100);
  while (flop.j < 50)
    res[flop.j++] = xmalloc(sizeof(**res) * 30);
  while (envp[flop.i])
    {
      if (envp[flop.i][flop.o] == 'P')
        if (envp[flop.i][flop.o + 1] == 'A')
          if (envp[flop.i][flop.o + 2] == 'T')
            {
              while (envp[flop.i][flop.b] != '\0')
                str[flop.o++] = envp[flop.i][flop.b++];
              res = my_str_to_wordtab2(str);
              return (res);
            }
      flop.i++;
    }
}
et la console me répond cela à la compilation
ligne 12:7: warning: assignment makes pointer from integer without a cast
ligne 13:7: warning: assignment makes pointer from integer without a cast
ligne 15:19: warning: assignment makes pointer from integer without a cast
ligne 24:13: warning: assignment makes pointer from integer without a cast

Pour informations j'ai essayé de mettre la fonction malloc a la place de xmalloc (qui vérifie les valeurs de retour). La fonction my_str_to_wordtab est un double tableau également donc je vois vraiment pas pourquoi la console me renvois tout ces warnings j'ai du me tromper dans les mallocs mais je vois vraiment pas ou...
Si vous pouvez m'éclairer sur ce probleme...
Merci d'avance
Cdt