g_slist_free (pixbuf_formats);
return NULL;
}
-
-#define XDIGIT(c) ((c) <= '9' ? (c) - '0' : ((c) & 0x4F) - 'A' + 10)
-#define HEXCHAR(s) ((XDIGIT (s[1]) << 4) + XDIGIT (s[2]))
-
-static char *
-uri_decoded_copy (const char *part, int length)
-{
- unsigned char *s, *d;
- char *decoded = g_strndup (part, length);
-
- s = d = (unsigned char *)decoded;
- do {
- if (*s == '%') {
- if (!g_ascii_isxdigit (s[1]) ||
- !g_ascii_isxdigit (s[2])) {
- g_free (decoded);
- return NULL;
- }
- *d++ = HEXCHAR (s);
- s += 2;
- } else
- *d++ = *s;
- } while (*s++);
-
- return decoded;
-}
-
-char* escape_uri_for_display (const char *uri)
-{
- GFile *file;
- char *disp;
- char *filename;
-
- file = g_file_new_for_uri (uri);
- filename = g_file_get_parse_name (file);
- disp = uri_decoded_copy (filename, strlen (filename));
- g_free (filename);
- g_object_unref (file);
-
- return disp;
-}
void file_chooser_dialog_add_writable_pixbuf_formats (GtkFileChooser *chooser);
GdkPixbufFormat* get_gdk_pixbuf_format_by_extension (gchar *uri);
-char* escape_uri_for_display (const char *uri);
G_END_DECLS
#endif /* __EV_VIEW_H__ */