Use Gio for url logger
This commit is contained in:
parent
06d323025d
commit
eafc1e2b70
@ -1332,6 +1332,9 @@ hexchat_open_gfile (const char *filename)
|
||||
GFile *file;
|
||||
gchar *full_path, *full_path_fs;
|
||||
|
||||
if (g_path_is_absolute (filename))
|
||||
full_path = g_strdup (filename);
|
||||
else
|
||||
full_path = g_build_filename (get_xdir(), filename, NULL);
|
||||
full_path_fs = g_filename_from_utf8 (full_path, -1, NULL, NULL, NULL);
|
||||
|
||||
|
@ -68,42 +68,47 @@ url_clear (void)
|
||||
}
|
||||
|
||||
static int
|
||||
url_save_cb (char *url, FILE *fd)
|
||||
url_save_cb (char *url, GOutputStream *ostream)
|
||||
{
|
||||
fprintf (fd, "%s\n", url);
|
||||
stream_writef (ostream, "%s\n", url);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
url_save_tree (const char *fname, const char *mode, gboolean fullpath)
|
||||
url_save_tree (const char *fname)
|
||||
{
|
||||
FILE *fd;
|
||||
GFile *file;
|
||||
GOutputStream *ostream;
|
||||
|
||||
if (fullpath)
|
||||
fd = hexchat_fopen_file (fname, mode, XOF_FULLPATH);
|
||||
else
|
||||
fd = hexchat_fopen_file (fname, mode, 0);
|
||||
if (fd == NULL)
|
||||
return;
|
||||
file = hexchat_open_gfile (fname);
|
||||
|
||||
tree_foreach (url_tree, (tree_traverse_func *)url_save_cb, fd);
|
||||
fclose (fd);
|
||||
ostream = G_OUTPUT_STREAM(g_file_append_to (file, G_FILE_CREATE_NONE, NULL, NULL));
|
||||
if (ostream)
|
||||
{
|
||||
tree_foreach (url_tree, (tree_traverse_func *)url_save_cb, ostream);
|
||||
g_object_unref (ostream);
|
||||
}
|
||||
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
static void
|
||||
url_save_node (char* url)
|
||||
{
|
||||
FILE *fd;
|
||||
GFile *file;
|
||||
GOutputStream *ostream;
|
||||
|
||||
/* open <config>/url.log in append mode */
|
||||
fd = hexchat_fopen_file ("url.log", "a", 0);
|
||||
if (fd == NULL)
|
||||
file = hexchat_open_gfile ("url.log");
|
||||
|
||||
ostream = G_OUTPUT_STREAM(g_file_append_to (file, G_FILE_CREATE_NONE, NULL, NULL));
|
||||
if (ostream)
|
||||
{
|
||||
return;
|
||||
stream_writef (ostream, "%s\n", url);
|
||||
g_object_unref (ostream);
|
||||
}
|
||||
|
||||
fprintf (fd, "%s\n", url);
|
||||
fclose (fd);
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -33,7 +33,7 @@ extern void *url_tree;
|
||||
#define WORD_PATH -2
|
||||
|
||||
void url_clear (void);
|
||||
void url_save_tree (const char *fname, const char *mode, gboolean fullpath);
|
||||
void url_save_tree (const char *fname);
|
||||
int url_last (int *, int *);
|
||||
int url_check_word (const char *word);
|
||||
void url_check_line (char *buf);
|
||||
|
@ -138,7 +138,7 @@ url_save_callback (void *arg1, char *file)
|
||||
{
|
||||
if (file)
|
||||
{
|
||||
url_save_tree (file, "w", TRUE);
|
||||
url_save_tree (file);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user