Segfault sur Linux mais par sur Mac
Bonjour,
Je solicite a nouveau votre aide pour un probleme que je n arrive pas a expliquer.
Le code ci-dessous fonctionne parfaitement sur un Mac x64 bit, mais si je lexecute sur une Debian x32 bit il segfault a la ligne suivante:
Code:
map[y][x].unit = NULL;
Quelqu un a-t-il une explication?
Code:
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 40
|
int x;
int y;
int i;
int fd;
char buf[LENX * 11];
t_case **map;
if ((fd = open("test.map", O_RDONLY)) == -1)
return ;
map = malloc(sizeof(t_case *) * LENY);
y = 0;
while (y < LENY)
{
map[y] = malloc(sizeof(t_case) * LENX);
y++;
}
y = 0;
x = 0;
bzero(buf, (LENX * 11) + 1);
while (read(fd, buf, (LENX * 11) + 1))
{
i = 0;
while (i < LENX * 11)
{
if (buf[i] == '[')
{
map[y][x].unit = NULL; // Segfault
x++;
if (x == LENX)
{
x = 0;
y++;
}
}
i++;
}
bzero(buf, (LENX * 11) + 1);
} |