ptr = __tmp; \
}
+#define Xstrconcat_a(ptr, str1, str2, iffail) \
+{ \
+ gchar *__tmp; \
+ \
+ if ((__tmp = alloca(strlen(str1) + strlen(str2) + 1)) == NULL) { \
+ g_warning("can't allocate memory\n"); \
+ iffail; \
+ } else { \
+ strcpy(__tmp, str1); \
+ strcat(__tmp, str2); \
+ } \
+ \
+ ptr = __tmp; \
+}
+
#define FILE_OP_ERROR(file, func) \
{ \
fprintf(stderr, "%s: ", file); \
gboolean is_header_line (const gchar *str);
gboolean is_ascii_str (const guchar *str);
gint get_quote_level (const gchar *str);
-GList *uri_list_extract_filenames (const gchar *uri_list);
gchar *strstr_with_skip_quote (const gchar *haystack,
const gchar *needle);
gchar **strsplit_with_quote (const gchar *str,
const gchar *delim,
gint max_tokens);
+GList *uri_list_extract_filenames (const gchar *uri_list);
+void decode_uri (gchar *decoded_uri,
+ const gchar *encoded_uri);
+
/* return static strings */
gchar *get_home_dir (void);
gchar *get_rc_dir (void);
gboolean async);
/* open URI with external browser */
-gint open_uri (const gchar *uri, const gchar *cmdline);
+gint open_uri(const gchar *uri, const gchar *cmdline);
/* time functions */
time_t remote_tzoffset_sec (const gchar *zone);