Mercurial > pidgin.yaz
changeset 7764:88886239f31e
[gaim-migrate @ 8409]
Move old_logger to stringrefs for paths
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Fri, 05 Dec 2003 16:57:00 +0000 |
parents | dc79649b829d |
children | 9b3c8ef31105 |
files | src/log.c |
diffstat | 1 files changed, 12 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/log.c Fri Dec 05 16:56:03 2003 +0000 +++ b/src/log.c Fri Dec 05 16:57:00 2003 +0000 @@ -27,6 +27,7 @@ #include "log.h" #include "prefs.h" #include "util.h" +#include "stringref.h" static GaimLogLogger html_logger; static GaimLogLogger txt_logger; @@ -696,7 +697,7 @@ */ struct old_logger_data { - char *path; + GaimStringref *pathref; int offset; int length; }; @@ -709,7 +710,8 @@ char month[4]; struct old_logger_data *data = NULL; char *logfile = g_strdup_printf("%s.log", gaim_normalize(account, sn)); - char *path = g_build_filename(gaim_user_dir(), "logs", logfile, NULL); + char *pathstr = g_build_filename(gaim_user_dir(), "logs", logfile, NULL); + GaimStringref *pathref = gaim_stringref_new(pathstr); char *newlog; int logfound = 0; int lastoff = 0; @@ -720,9 +722,10 @@ GList *list = NULL; g_free(logfile); + g_free(pathstr); - if (!(file = fopen(path, "rb"))) { - g_free(path); + if (!(file = fopen(gaim_stringref_value(pathref), "rb"))) { + gaim_stringref_unref(pathref); return NULL; } @@ -763,7 +766,7 @@ data = g_new0(struct old_logger_data, 1); data->offset = lastoff; data->length = newlen; - data->path = g_strdup(path); + data->pathref = gaim_stringref_ref(pathref); log->logger_data = data; list = g_list_append(list, log); } @@ -814,13 +817,13 @@ data = g_new0(struct old_logger_data, 1); data->offset = lastoff; data->length = newlen; - data->path = g_strdup(path); + data->pathref = gaim_stringref_ref(pathref); log->logger_data = data; list = g_list_append(list, log); } } - g_free(path); + gaim_stringref_unref(pathref); fclose(file); return list; } @@ -828,7 +831,7 @@ static char * old_logger_read (GaimLog *log, GaimLogReadFlags *flags) { struct old_logger_data *data = log->logger_data; - FILE *file = fopen(data->path, "rb"); + FILE *file = fopen(gaim_stringref_value(data->pathref), "rb"); char *read = g_malloc(data->length + 1); fseek(file, data->offset, SEEK_SET); fread(read, data->length, 1, file); @@ -848,7 +851,7 @@ static void old_logger_finalize(GaimLog *log) { struct old_logger_data *data = log->logger_data; - g_free(data->path); + gaim_stringref_unref(data->pathref); g_free(data); }