# HG changeset patch # User Richard Laager # Date 1177444694 0 # Node ID 54ea8863b8e8e8b818d1f49de78c4f5da32f1c8e # Parent 05033ae856b25819fb3438d77e3a1c59ffd5ffd6 Switch to using g_file_get_contents() instead of our own code. diff -r 05033ae856b2 -r 54ea8863b8e8 libpurple/buddyicon.c --- a/libpurple/buddyicon.c Tue Apr 24 19:12:48 2007 +0000 +++ b/libpurple/buddyicon.c Tue Apr 24 19:58:14 2007 +0000 @@ -491,33 +491,18 @@ static gboolean read_icon_file(const char *path, guchar **data, size_t *len) { - struct stat st; + GError *err = NULL; - if (!g_stat(path, &st)) + if (!g_file_get_contents(path, data, len, &err)) { - FILE *f = g_fopen(path, "rb"); - if (f) - { - *data = g_malloc(st.st_size); - if (!fread(*data, st.st_size, 1, f)) - { - purple_debug_error("buddyicon", "Error reading %s: %s\n", - path, strerror(errno)); - g_free(*data); - return FALSE; - } - fclose(f); + purple_debug_error("buddyicon", "Error reading %s: %s\n", + path, err->message); + g_error_free(err); - *len = st.st_size; - return TRUE; - } - else - { - purple_debug_error("buddyicon", "Unable to open file %s for reading: %s\n", - path, strerror(errno)); - } + return FALSE; } - return FALSE; + + return TRUE; } PurpleBuddyIcon *