Thanks a lot Fenriswolf ... now it's working fine.
The problem was that I used str_cpy, but it has to be str_create ...
file_str_read(fhandle,str);
((USEABLE_OBJECT*)tmpObj).description = str_create(str);
So it wasn't a problem with the struct object, but how the data of the struct was set. I stored a pointer to a pointer.
Now I can easily read all the additional data for my entities from my csv-file, put it into my GSHashmap and can get it back from there when I need them. A big advantage is that I also can save a lot of state data for my entities and don't lose them when changing the levels.
As I am currently working on a point&click adventure I made a big step forwards with the base implementation.
Thanks to everyone who helped ... @everyone ... feel free to use my GSHashmap.
If you have questions or tips for improvement just contact me or better write into this thread so that everyone can discuss.
Best regards,
Pegamode.