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