Add a wrapper function to decode base64, returning a null-terminated string.
[claws.git] / src / common / utils.h
index 1a1f6c49667d86b8258eb433b5c58ccceb76167f..ff01d83977112a5bf4a5f17d46afca475027a0d8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
+ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 1999-2014 Hiroyuki Yamamoto and the Claws Mail team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #  include <wchar.h>
 #endif
 
+/* The Hurd doesn't have this limit */
+#ifndef PATH_MAX
+  #define PATH_MAX 4196
+#endif
+
 #ifdef G_OS_WIN32
 
 #define fsync _commit
 
-#if GLIB_CHECK_VERSION (2, 13, 2)
 #define pipe(phandles)  _pipe (phandles, 4096, _O_BINARY)
 #endif
-#endif
 /* Wrappers for C library function that take pathname arguments. */
-#if GLIB_CHECK_VERSION(2, 6, 0)
 #  include <glib/gstdio.h>
-#else
-
-#define g_open         open
-#define g_rename       rename
-#define g_mkdir                mkdir
-#define g_stat         stat
-#define g_lstat                lstat
-#define g_unlink       unlink
-#define g_remove       remove
-#define g_rmdir                rmdir
-#define g_fopen                fopen
-#define g_freopen      freopen
-
-#endif /* GLIB_CHECK_VERSION */
-
-#if !GLIB_CHECK_VERSION(2, 7, 0)
-
-#ifdef G_OS_UNIX
-#define g_chdir                chdir
-#define g_chmod                chmod
-#else
-gint g_chdir   (const gchar    *path);
-gint g_chmod   (const gchar    *path,
-                gint            mode);
-#endif /* G_OS_UNIX */
-
-#endif /* !GLIB_CHECK_VERSION */
 
 /* why is this sometimes undefined !? */
 #ifndef G_MAXOFFSET
@@ -247,6 +222,13 @@ G_STMT_END
        }                                                               \
 } G_STMT_END
 
+#ifndef MIN
+       #define MIN(a, b) ((a) < (b) ? (a) : (b))
+#endif
+#ifndef MAX
+       #define MAX(a, b) ((a) > (b) ? (a) : (b))
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -603,6 +585,8 @@ void cm_mutex_free(GMutex *mutex);
 
 int cm_canonicalize_filename(const gchar *filename, gchar **canonical_name);
 
+guchar *g_base64_decode_zero(const gchar *text, gsize *out_len);
+
 #if !GLIB_CHECK_VERSION(2, 30, 0)
 gchar   *g_utf8_substring         (const gchar *p,
                                    glong        start_pos,