hello
this has to work in about an hour :O!
Code:
pSzenenGraph
findeSzenenGraphKnoten(pSzenenGraph wurzelzeiger, char* objektname){
char* sub_string = malloc(strlen(objektname));
char* rest_string = malloc(strlen(objektname));
pSzenenGraph ergebnis;
strcpy ( sub_string, objektname);
rest_string=strchr(objektname,'/');
strtok(sub_string,"/");
if (!istLeer(wurzelzeiger) && (sub_string!=NULL)){
if (strcmp(sub_string,wurzelzeiger->objekt.name)==0){
if (rest_string!=NULL){
++rest_string;
ergebnis = findeSzenenGraphKnoten(wurzelzeiger->kind,rest_string);
free(rest_string);
free(sub_string);
return ergebnis;
}
free(rest_string);
free(sub_string);
return wurzelzeiger;
}
ergebnis = findeSzenenGraphKnoten(wurzelzeiger->next,objektname);
free(rest_string);
free(sub_string);
return ergebnis;
}
free(rest_string);
free(sub_string);
return (pSzenenGraph) 0;
}
the problem is:
no problem under windows, but under linux i get segmentation fault with free() in.
especially here:
Code:
if (rest_string!=NULL){
++rest_string;
ergebnis = findeSzenenGraphKnoten(wurzelzeiger->kind,rest_string);
free(rest_string);
free(sub_string);
return ergebnis;
}
if i dont free, my progamm runs for about 30 sec, until i run out of memory.
any idea?