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-segmentationfault-_jeszcze_nim_program_zaczyna_prace )
Jednak sobie nie poradzę, nie rozumiem tego błędu :(

int load_file(pgm *pgm_file)
{
printf("Przed fopen \n");
(
pgm_file)->file=fopen((pgm_file)->file_name_in, "r+");
printf("Po fopen \n");
...

Przed fopen pokazuje, potem segmentation fault
Gdy zamienię na

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

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

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;

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

$ ./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

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