X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fvertex3d.cpp;h=e0ca2d2cab1ee198e0fd6798ab2740d1f346023c;hb=79e12d94cc21232477796a4e76fc2ddb5d88f9dc;hp=b7b57e2c70ef52bdf2a360566861117150ab36c2;hpb=1a76862e831371dd0a7eb74b460c93b5932165c1;p=guile-irrlicht.git diff --git a/src/vertex3d.cpp b/src/vertex3d.cpp index b7b57e2..e0ca2d2 100644 --- a/src/vertex3d.cpp +++ b/src/vertex3d.cpp @@ -41,7 +41,7 @@ S3DVertex_make (SCM position, scm_to_vector3df (normal), scm_to_color (color), scm_to_vector2df (tcoords)); - return scm_from_pointer ((void*) vertex, NULL); + return scm_from_irr_pointer ("", (void*) vertex); } SCM @@ -60,22 +60,27 @@ init_vertex3d (void) video::E_VERTEX_TYPE scm_to_vertex_type (SCM vertex_type) { - char* type = scm_to_utf8_string (scm_symbol_to_string (vertex_type)); - if (!strcmp (type, "standard")) + char* type_name = scm_to_utf8_string (scm_symbol_to_string (vertex_type)); + video::E_VERTEX_TYPE type; + + if (!strcmp (type_name, "standard")) { - return video::EVT_STANDARD; + type = video::EVT_STANDARD; } - else if (!strcmp (type, "2tcoords")) + else if (!strcmp (type_name, "2tcoords")) { - return video::EVT_2TCOORDS; + type = video::EVT_2TCOORDS; } - else if (!strcmp (type, "tangents")) + else if (!strcmp (type_name, "tangents")) { - return video::EVT_TANGENTS; + type = video::EVT_TANGENTS; } else { scm_error (scm_arg_type_key, NULL, "Wrong vertex_type: ~S", scm_list_1 (vertex_type), scm_list_1 (vertex_type)); } + + free (type_name); + return type; }