const char * purple_util_get_image_extension(gconstpointer data, size_t len) { g_return_val_if_fail(data != NULL, NULL); g_return_val_if_fail(len > 0, NULL); if (len >= 4) { if (!strncmp((char *)data, "GIF8", 4)) return "gif"; else if (!strncmp((char *)data, "\xff\xd8\xff", 3)) /* 4th may be e0 through ef */ return "jpg"; else if (!strncmp((char *)data, "\x89PNG", 4)) return "png"; else if (!strncmp((char *)data, "MM", 2) || !strncmp((char *)data, "II", 2)) return "tif"; else if (!strncmp((char *)data, "BM", 2)) return "bmp"; } return "icon"; }