library:    lib3ds 2.0
====================================================
file: lib3ds_node.c
line: 169

original codes:
----------------------------
Lib3dsCameraNode*
lib3ds_node_new_camera(Lib3dsCamera *camera) {
Lib3dsNode *node = lib3ds_node_new(LIB3DS_NODE_CAMERA); Lib3dsCameraNode *n;

assert(camera);
node = lib3ds_node_new(LIB3DS_NODE_CAMERA);
strcpy(node->name, camera->name); n = (Lib3dsCameraNode*)node;
lib3ds_track_resize(&n->pos_track, 1);
lib3ds_vector_copy(n->pos_track.keys[0].value, camera->position); lib3ds_track_resize(&n->fov_track, 1);
n->fov_track.keys[0].value[0] = camera->fov; lib3ds_track_resize(&n->roll_track, 1);
n->roll_track.keys[0].value[0] = camera->roll; return n;
}-----------------------------


my fixed code:


Lib3dsCameraNode*
lib3ds_node_new_camera(Lib3dsCamera *camera) {
Lib3dsNode *node; Lib3dsCameraNode *n;

assert(camera);
node = lib3ds_node_new(LIB3DS_NODE_CAMERA);
strcpy(node->name, camera->name); n = (Lib3dsCameraNode*)node;
lib3ds_track_resize(&n->pos_track, 1);
lib3ds_vector_copy(n->pos_track.keys[0].value, camera->position); lib3ds_track_resize(&n->fov_track, 1);
n->fov_track.keys[0].value[0] = camera->fov; lib3ds_track_resize(&n->roll_track, 1);
n->roll_track.keys[0].value[0] = camera->roll; return n;
}
-------------------------------------------------------------------------------
file: lib3ds_file.c

/* cheungmine */
#ifndef FREE_S
# define FREE_S(p) if(p){ void *t=(void*)(p); (p)=0; free(t); }
#endif​


/*!
* Free a Lib3dsFile object and all of its resources.
*
* /param file The Lib3dsFile object to be freed.
*/
void
lib3ds_file_free(Lib3dsFile* file) {
Lib3dsNode *p, *q; assert(file);
lib3ds_file_reserve_materials(file, 0, TRUE);
FREE_S(file->materials) lib3ds_file_reserve_cameras(file, 0, TRUE);
FREE_S(file->cameras) lib3ds_file_reserve_lights(file, 0, TRUE);
FREE_S(file->lights) lib3ds_file_reserve_meshes(file, 0, TRUE);
FREE_S(file->meshes) for (p = file->nodes; p; p = q) {
q = p->next;
lib3ds_node_free(p);
}

free(file);
}
-----------------------------------------------------------------------------------
lib3ds2.0 BUG fix by cheungmine 2009-2-14 china,shanghai
-----------------------------