Segmentation fault - kontynuacja

0

Witam,
kontynuując mój ostatni temat, który zakończyłem słowami "dalej sobie poradzę"... ( http://4programmers.net/Forum/Newbie/210123-segmentation_fault_-_jeszcze_nim_program_zaczyna_prace )
Jednak sobie nie poradzę, nie rozumiem tego błędu :(
[code]
int load_file(pgm **pgm_file)
{
printf("Przed fopen \n");
(*pgm_file)->file=fopen((*pgm_file)->file_name_in, "r+");
printf("Po fopen \n");
...
[/code]
Przed fopen pokazuje, potem segmentation fault
Gdy zamienię na
[code]
printf("Przed fopen \n");
fopen((*pgm_file)->file_name_in, "r+");
printf("Po fopen \n");
if((*pgm_file)->file==NULL)
{
fprintf(stderr, "Load_file: Loading file failed, check file name and permissions, then try again. \n");
}
else
{
printf("W elsie \n");
[/code]
Pokazuje po fopen, ale w elsie już nie, czyli jakby program wywala w każdym momencie gdy próbuję odwołać się do pgm_file->file
struktura bez zmien
[code]
typedef struct pgm_file{
char file_name_in[FILE_NAME_MAX_LENGHT]; //Nazwa pliku wejsciowego
char file_name_out[FILE_NAME_MAX_LENGHT]; //Nazwa pliku wyjsciowego
int sizex; //Szerokosc obrazu
int sizey; //Wysokosc obrazu
int grayscale; //Skala szarosci obrazu
int display;
FILE *file; //Wskaznik na plik
int **picture; //Dwuwymiarowa tablica informacji o poszczegolnych pikselach obrazu
} pgm;
[/code]
Kompiluję z -g i -Wall i nic nie pokazują

1

printf("Przed fopen adresy: 0x%08X 0x%08X\n",pgm_file,*pgm_file);

0

$ ./a.out
Przed fopen adresy: 0xFFBFF974 0x00000000
Segmentation Fault

aha widzę :)

EDIT
[code]
$ ./a.out -i balloons.pgm
Load file: File opened successfully
Load file: First line : passed
Load file: Magic number : passed
Load file: comments removed
Load file: size and grayscale loaded
Load file: Memory malloc succeded
Load file: Data loaded
[/code]

1 użytkowników online, w tym zalogowanych: 0, gości: 1