diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2006-02-21 03:22:46 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2006-02-21 03:22:46 +0000 |
commit | de44b9bbce799a4f4308809e53c30b52aa67b786 (patch) | |
tree | 273e4632d8d02f0964468050696dff344e914cab /libsylph/pop.c | |
parent | c8054e822df9cdfe8ca186e107f77ef867895f47 (diff) |
use filename-safe string for UIDL file.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1003 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/pop.c')
-rw-r--r-- | libsylph/pop.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libsylph/pop.c b/libsylph/pop.c index 8b110b3e..ed5edee3 100644 --- a/libsylph/pop.c +++ b/libsylph/pop.c @@ -464,12 +464,15 @@ GHashTable *pop3_get_uidl_table(PrefsAccount *ac_prefs) gchar uidl[POPBUFSIZE]; time_t recv_time; time_t now; + gchar *uid; table = g_hash_table_new(g_str_hash, g_str_equal); + uid = uriencode_for_filename(ac_prefs->userid); path = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, UIDL_DIR, G_DIR_SEPARATOR_S, ac_prefs->recv_server, - "-", ac_prefs->userid, NULL); + "-", uid, NULL); + g_free(uid); if ((fp = g_fopen(path, "rb")) == NULL) { if (ENOENT != errno) FILE_OP_ERROR(path, "fopen"); g_free(path); @@ -504,13 +507,16 @@ gint pop3_write_uidl_list(Pop3Session *session) FILE *fp; Pop3MsgInfo *msg; gint n; + gchar *uid; if (!session->uidl_is_valid) return 0; + uid = uriencode_for_filename(session->ac_prefs->userid); path = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, - "uidl", G_DIR_SEPARATOR_S, + UIDL_DIR, G_DIR_SEPARATOR_S, session->ac_prefs->recv_server, - "-", session->ac_prefs->userid, NULL); + "-", uid, NULL); + g_free(uid); if ((fp = g_fopen(path, "wb")) == NULL) { FILE_OP_ERROR(path, "fopen"); g_free(path); |