--- a/libpurple/smiley.c Wed Feb 20 22:13:23 2013 +0100 +++ b/libpurple/smiley.c Fri Feb 22 18:54:43 2013 -0500 @@ -114,7 +114,7 @@ static PurpleSmiley *purple_smiley_create(const char *shortcut); -static PurpleSmiley *purple_smiley_load_file(const char *shortcut, const char *checksum, +static void purple_smiley_load_file(const char *shortcut, const char *checksum, const char *filename); static void @@ -227,10 +227,9 @@ * Reading from disk * *********************************************************************/ -static PurpleSmiley * +static void parse_smiley(xmlnode *smiley_node) { - PurpleSmiley *smiley; const char *shortcut = NULL; const char *checksum = NULL; const char *filename = NULL; @@ -240,11 +239,9 @@ filename = xmlnode_get_attrib(smiley_node, XML_FILENAME_ATRIB_TAG); if ((shortcut == NULL) || (checksum == NULL) || (filename == NULL)) - return NULL; + return; - smiley = purple_smiley_load_file(shortcut, checksum, filename); - - return smiley; + purple_smiley_load_file(shortcut, checksum, filename); } static void @@ -272,9 +269,7 @@ smiley_node = xmlnode_get_child(smileyset_node, XML_SMILEY_TAG); for (; smiley_node != NULL; smiley_node = xmlnode_get_next_twin(smiley_node)) { - PurpleSmiley *smiley; - - smiley = parse_smiley(smiley_node); + parse_smiley(smiley_node); } } @@ -473,7 +468,7 @@ return path; } -static PurpleSmiley * +static void purple_smiley_load_file(const char *shortcut, const char *checksum, const char *filename) { PurpleSmiley *smiley = NULL; @@ -481,18 +476,20 @@ size_t smiley_data_len; char *fullpath = NULL; - g_return_val_if_fail(shortcut != NULL, NULL); - g_return_val_if_fail(checksum != NULL, NULL); - g_return_val_if_fail(filename != NULL, NULL); + g_return_if_fail(shortcut != NULL); + g_return_if_fail(checksum != NULL); + g_return_if_fail(filename != NULL); fullpath = get_file_full_path(filename); - if (!fullpath) - return NULL; + if (!fullpath) { + purple_debug_error(SMILEYS_LOG_ID, "Path for filename %s doesn't exist\n", filename); + return; + } smiley = purple_smiley_create(shortcut); if (!smiley) { g_free(fullpath); - return NULL; + return; } smiley->checksum = g_strdup(checksum); @@ -505,7 +502,6 @@ g_free(fullpath); - return smiley; } static void