Improved invalid utf8 encoding error - g_get_charset() is now also reported.
[captive.git] / src / client / fuse / utf8.h
index 7df8eb9..6583051 100644 (file)
 
 
 #include <captive/macros.h>
+#include <glib/gerror.h>
 
 
 G_BEGIN_DECLS
 
-char *capfuse_filename_to_utf8_malloc_errorchecking(const char *name);
-char *capfuse_filename_from_utf8_malloc_errorchecking(const char *name);
+char *capfuse_utf8_engine_malloc_errorchecking(const char *funcname,
+               gchar *(*func)(const gchar *opsysstring,gssize len,gsize *bytes_read,gsize *bytes_written,GError **error),
+               const char *string);
+
+#define capfuse_filename_to_utf8_malloc_errorchecking(name) \
+               capfuse_utf8_engine_malloc_errorchecking("g_filename_to_utf8",g_filename_to_utf8,(name))
+#define capfuse_filename_from_utf8_malloc_errorchecking(name) \
+               capfuse_utf8_engine_malloc_errorchecking("g_filename_from_utf8",g_filename_from_utf8,(name))
 
 #define CAPFUSE_FILENAME_TO_UTF8_ALLOCA(name) ({ \
                const char *_capfuse_filename_to_utf8_alloca_name=(name); \