From 4acd459c3cd42a7cbde6f884cee2720537183452 Mon Sep 17 00:00:00 2001 From: hiro Date: Wed, 11 Jul 2007 06:45:46 +0000 Subject: code cleanup. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1854 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 6 ++++++ ChangeLog.ja | 6 ++++++ libsylph/folder.c | 18 ++++++++++++++++++ libsylph/folder.h | 2 ++ src/compose.c | 23 +++++------------------ src/send_message.c | 23 +++++------------------ 6 files changed, 42 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index e685097e..1d28522f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-07-11 + + * libsylph/folder.[ch]: folder_find_item_and_num_from_id(): added. + * src/compose.c + src/send_message.c: code cleanup. + 2007-07-11 * src/editbook.c: win32: fixed a bug that the name entry didn't diff --git a/ChangeLog.ja b/ChangeLog.ja index 2be4022e..c864234f 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,9 @@ +2007-07-11 + + * libsylph/folder.[ch]: folder_find_item_and_num_from_id(): 追加。 + * src/compose.c + src/send_message.c: コードの整理。 + 2007-07-11 * src/editbook.c: win32: 名前エントリがキー入力を受け付けないバグを diff --git a/libsylph/folder.c b/libsylph/folder.c index 6527c848..0649ca21 100644 --- a/libsylph/folder.c +++ b/libsylph/folder.c @@ -728,6 +728,24 @@ FolderItem *folder_find_item_from_identifier(const gchar *identifier) return d[1]; } +FolderItem *folder_find_item_and_num_from_id(const gchar *identifier, gint *num) +{ + gchar *id; + gchar *msg; + FolderItem *item; + + g_return_val_if_fail(identifier != NULL, NULL); + + id = g_path_get_dirname(identifier); + msg = g_path_get_basename(identifier); + item = folder_find_item_from_identifier(id); + *num = to_number(msg); + g_free(msg); + g_free(id); + + return item; +} + Folder *folder_get_default_folder(void) { return folder_list ? FOLDER(folder_list->data) : NULL; diff --git a/libsylph/folder.h b/libsylph/folder.h index 96107261..38907551 100644 --- a/libsylph/folder.h +++ b/libsylph/folder.h @@ -352,6 +352,8 @@ FolderItem *folder_find_child_item_by_name (FolderItem *item, gchar *folder_get_identifier (Folder *folder); gchar *folder_item_get_identifier (FolderItem *item); FolderItem *folder_find_item_from_identifier (const gchar *identifier); +FolderItem *folder_find_item_and_num_from_id (const gchar *identifier, + gint *num); Folder *folder_get_default_folder (void); FolderItem *folder_get_default_inbox (void); diff --git a/src/compose.c b/src/compose.c index 6c3bc116..28972cc4 100644 --- a/src/compose.c +++ b/src/compose.c @@ -1541,8 +1541,6 @@ static gint compose_parse_source_msg(Compose *compose, MsgInfo *msginfo) gchar *str; gchar buf[BUFFSIZE]; gint hnum; - gchar *id; - gchar *msg; gint num; gchar **paths; gint i; @@ -1564,35 +1562,24 @@ static gint compose_parse_source_msg(Compose *compose, MsgInfo *msginfo) ++str; if ((hnum == H_X_SYLPHEED_REPLY || hnum == H_REP) && !compose->replyto) { - id = g_path_get_dirname(str); - msg = g_path_get_basename(str); - num = to_number(msg); - item = folder_find_item_from_identifier(id); - g_print("folder id: %s (msg %d)\n", id, num); - if (num > 0 && item) { + item = folder_find_item_and_num_from_id(str, &num); + if (item && num > 0) { compose->replyinfo = folder_item_get_msginfo(item, num); } - g_free(msg); - g_free(id); } else if (hnum == H_X_SYLPHEED_FORWARD || hnum == H_FWD) { paths = g_strsplit(str, "\n", 0); for (i = 0; paths[i] != NULL; i++) { g_strstrip(paths[i]); - id = g_path_get_dirname(paths[i]); - msg = g_path_get_basename(paths[i]); - num = to_number(msg); - item = folder_find_item_from_identifier(id); - g_print("folder id: %s (msg %d)\n", id, num); - if (num > 0 && item) { + item = folder_find_item_and_num_from_id + (paths[i], &num); + if (item && num > 0) { MsgInfo *msginfo; msginfo = folder_item_get_msginfo (item, num); if (msginfo) compose->forward_mlist = g_slist_append(compose->forward_mlist, msginfo); } - g_free(msg); - g_free(id); } g_strfreev(paths); } diff --git a/src/send_message.c b/src/send_message.c index 483f6126..a6b2e895 100644 --- a/src/send_message.c +++ b/src/send_message.c @@ -150,8 +150,6 @@ QueueInfo *send_get_queue_info(const gchar *file) gchar buf[BUFFSIZE]; gint hnum; QueueInfo *qinfo; - gchar *id; - gchar *msg; gint num; FolderItem *item; MsgInfo *msginfo; @@ -190,34 +188,23 @@ QueueInfo *send_get_queue_info(const gchar *file) qinfo->ac = account_find_from_id(atoi(p)); break; case Q_REPLY_TARGET: - id = g_path_get_dirname(p); - msg = g_path_get_basename(p); - num = to_number(msg); - item = folder_find_item_from_identifier(id); - g_print("folder id: %s (msg %d)\n", id, num); - if (num > 0 && item) { + item = folder_find_item_and_num_from_id(p, &num); + if (item && num > 0) { qinfo->replyinfo = procmsg_get_msginfo(item, num); } - g_free(msg); - g_free(id); break; case Q_FORWARD_TARGETS: paths = g_strsplit(p, "\n", 0); for (i = 0; paths[i] != NULL; i++) { g_strstrip(paths[i]); - id = g_path_get_dirname(paths[i]); - msg = g_path_get_basename(paths[i]); - num = to_number(msg); - item = folder_find_item_from_identifier(id); - g_print("folder id: %s (msg %d)\n", id, num); - if (num > 0 && item) { + item = folder_find_item_and_num_from_id + (paths[i], &num); + if (item && num > 0) { msginfo = procmsg_get_msginfo(item, num); if (msginfo) qinfo->forward_mlist = g_slist_append(qinfo->forward_mlist, msginfo); } - g_free(msg); - g_free(id); } g_strfreev(paths); break; -- cgit v1.2.3