jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=85b5064b675b7ba875e39bf9814f2fd9714d7de6
commit 85b5064b675b7ba875e39bf9814f2fd9714d7de6 Author: Jean-Philippe Andre <[email protected]> Date: Tue Dec 20 09:56:40 2016 +0900 evas/ply: Add filename in error logs As suggested by @k-s I'm pretty sure that this parser will easily fail. Eg. find uchar properties but it's not r,g,b in this exact order? No color for you. Find no uchar at all? Fail immediately even if we can handle a no color situation just fine. --- .../evas/model_loaders/ply/evas_model_load_ply.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/modules/evas/model_loaders/ply/evas_model_load_ply.c b/src/modules/evas/model_loaders/ply/evas_model_load_ply.c index 9f49039..48d2e89 100644 --- a/src/modules/evas/model_loaders/ply/evas_model_load_ply.c +++ b/src/modules/evas/model_loaders/ply/evas_model_load_ply.c @@ -42,7 +42,7 @@ _read_data(float *array, int place, int count, char *current, float divider) } static inline Eina_Bool -_read_ply_header(char *map, Evas_Model_Load_Save_Header *header) +_read_ply_header(char *map, Evas_Model_Load_Save_Header *header, const char *filename) { Eina_Bool reading_vertices = EINA_TRUE, check_next_char = EINA_FALSE; int vertex_lines, triangles = 0, vertices_in_current_face = 0; @@ -53,7 +53,7 @@ _read_ply_header(char *map, Evas_Model_Load_Save_Header *header) if (helping_pointer == NULL) { - ERR("PLY file doesn't contain the required keyword 'vertex'"); + ERR("PLY file doesn't contain the required keyword 'vertex': %s", filename); return EINA_FALSE; } @@ -66,7 +66,7 @@ _read_ply_header(char *map, Evas_Model_Load_Save_Header *header) if (helping_pointer == NULL) { - ERR("PLY file doesn't contain the required keyword 'end_header'"); + ERR("PLY file doesn't contain the required keyword 'end_header': %s", filename); return EINA_FALSE; } @@ -107,7 +107,10 @@ _read_ply_header(char *map, Evas_Model_Load_Save_Header *header) helping_pointer = eina_str_split(map, "property float ", 0); if (helping_pointer == NULL) - return EINA_FALSE; + { + ERR("PLY file doesn't contain any float properties: %s", filename); + return EINA_FALSE; + } if ((helping_pointer[1] != NULL) && (*helping_pointer[1] == 'x') && (helping_pointer[2] != NULL) && (*helping_pointer[2] == 'y') && @@ -115,7 +118,7 @@ _read_ply_header(char *map, Evas_Model_Load_Save_Header *header) header->existence_of_positions = EINA_TRUE; else { - ERR("PLY file doesn't start with x,y,z float fields, they are required."); + ERR("PLY file doesn't start with x,y,z float fields, they are required: %s", filename); free(helping_pointer[0]); free(helping_pointer); return EINA_FALSE; @@ -140,7 +143,10 @@ _read_ply_header(char *map, Evas_Model_Load_Save_Header *header) helping_pointer = eina_str_split(map, "property uchar ", 0); if (helping_pointer == NULL) - return EINA_FALSE; + { + ERR("PLY file doesn't contain any uchar properties: %s", filename); + return EINA_FALSE; + } if ((helping_pointer[1] != NULL) && (*helping_pointer[1] == 'r') && (helping_pointer[2] != NULL) && (*helping_pointer[2] == 'g') && @@ -217,7 +223,7 @@ evas_model_load_file_ply(Evas_Canvas3D_Mesh *mesh, Eina_File *file) } header = evas_model_load_save_header_new(); - if(!_read_ply_header(map, &header)) return; + if(!_read_ply_header(map, &header, eina_file_filename_get(file))) return; if (!evas_model_load_allocate_data_due_to_header(header, &data)) { --
