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:
Quelqu un a-t-il une explication?

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
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);
	}