From ae3a830bd1919b1ab8de385c11d936e8853f35c8 Mon Sep 17 00:00:00 2001 From: Andrej Kacian Date: Sat, 25 Feb 2017 11:32:52 +0100 Subject: [PATCH] Remove rssyl_feed_subscribe_new(), it was redundant. rssyl_subscribe() is almost identical, so it is used instead. Some minor usability issues that arise from this change will be fixed in next commit(s). --- src/plugins/rssyl/opml_import.c | 4 +- src/plugins/rssyl/rssyl.c | 3 +- src/plugins/rssyl/rssyl_feed.c | 65 ----------------------------- src/plugins/rssyl/rssyl_feed.h | 3 -- src/plugins/rssyl/rssyl_subscribe.c | 10 ++--- src/plugins/rssyl/rssyl_subscribe.h | 2 +- 6 files changed, 10 insertions(+), 77 deletions(-) diff --git a/src/plugins/rssyl/opml_import.c b/src/plugins/rssyl/opml_import.c index 737dfbe0e..8af767518 100644 --- a/src/plugins/rssyl/opml_import.c +++ b/src/plugins/rssyl/opml_import.c @@ -34,7 +34,7 @@ #include /* Local includes */ -#include "rssyl_feed.h" +#include "rssyl_subscribe.h" #include "opml_import.h" gint rssyl_folder_depth(FolderItem *item) @@ -101,7 +101,7 @@ void rssyl_opml_import_func(gchar *title, gchar *url, gint depth, gpointer data) ctx->depth++; } else { /* We have URL, try to add new feed... */ - new_item = rssyl_feed_subscribe_new((FolderItem *)ctx->current->data, + new_item = rssyl_subscribe((FolderItem *)ctx->current->data, url, TRUE); /* ...and rename it if needed */ if (new_item != NULL && strcmp(title, new_item->name)) { diff --git a/src/plugins/rssyl/rssyl.c b/src/plugins/rssyl/rssyl.c index e1852ed5f..af71ae404 100644 --- a/src/plugins/rssyl/rssyl.c +++ b/src/plugins/rssyl/rssyl.c @@ -48,6 +48,7 @@ #include "rssyl_gtk.h" #include "rssyl_feed.h" #include "rssyl_prefs.h" +#include "rssyl_subscribe.h" #include "rssyl_update_feed.h" #include "rssyl_update_format.h" #include "opml_import.h" @@ -865,7 +866,7 @@ static gboolean rssyl_subscribe_uri(Folder *folder, const gchar *uri) { if (folder->klass != rssyl_folder_get_class()) return FALSE; - return (rssyl_feed_subscribe_new(FOLDER_ITEM(folder->node->data), uri, FALSE) ? + return (rssyl_subscribe(FOLDER_ITEM(folder->node->data), uri, FALSE) ? TRUE : FALSE); } diff --git a/src/plugins/rssyl/rssyl_feed.c b/src/plugins/rssyl/rssyl_feed.c index dc3fbd4af..c5f3e6c60 100644 --- a/src/plugins/rssyl/rssyl_feed.c +++ b/src/plugins/rssyl/rssyl_feed.c @@ -41,71 +41,6 @@ #include "rssyl_update_feed.h" #include "strutils.h" -FolderItem *rssyl_feed_subscribe_new(FolderItem *parent, const gchar *url, - gboolean verbose) -{ - gchar *myurl = NULL, *tmpname = NULL; - FolderItem *new_item = NULL; - RFolderItem *ritem = NULL; - gboolean success = FALSE; - - g_return_val_if_fail(parent != NULL, FALSE); - g_return_val_if_fail(url != NULL, FALSE); - - log_print(LOG_PROTOCOL, RSSYL_LOG_SUBSCRIBING, url); - - if( !strncmp(url, "feed://", 7) ) - myurl = g_strdup(url+7); - else if( !strncmp(url, "feed:", 5) ) - myurl = g_strdup(url+5); - else - myurl = g_strdup(url); - - myurl = g_strchomp(myurl); - - folderview_freeze(mainwindow_get_mainwindow()->folderview); - folder_item_update_freeze(); - - /* Create a feed folder with generic name. */ - tmpname = g_strdup_printf("%s.%ld", RSSYL_NEW_FOLDER_NAME, (long int)time(NULL)); - new_item = folder_create_folder(parent, tmpname); - g_free(tmpname); - if( !new_item ) { - if( verbose ) - alertpanel_error(_("Couldn't create folder for new feed '%s'."), - myurl); - g_free(myurl); - return NULL; - } - - /* Set it up as a RSSyl folder */ - ritem = (RFolderItem *)new_item; - ritem->url = g_strdup(myurl); - - /* Try to update it, delete if failed. - * (it is renamed in rssyl_update_feed(). */ - if( (success = rssyl_update_feed(ritem, verbose)) == FALSE ) - new_item->folder->klass->remove_folder(new_item->folder, new_item); - else { - folder_item_scan(new_item); - folder_write_list(); - } - - folder_item_update_thaw(); - folderview_thaw(mainwindow_get_mainwindow()->folderview); - - if( success ) - log_print(LOG_PROTOCOL, RSSYL_LOG_SUBSCRIBED, ritem->official_title, - ritem->url); - else { - debug_print("RSSyl: Failed to add feed '%s'\n", myurl); - g_free(myurl); - return NULL; - } - - return new_item; -} - MsgInfo *rssyl_feed_parse_item_to_msginfo(gchar *file, MsgFlags flags, gboolean a, gboolean b, FolderItem *item) { diff --git a/src/plugins/rssyl/rssyl_feed.h b/src/plugins/rssyl/rssyl_feed.h index e34fc1086..4e098a275 100644 --- a/src/plugins/rssyl/rssyl_feed.h +++ b/src/plugins/rssyl/rssyl_feed.h @@ -16,9 +16,6 @@ #define RSSYL_LOG_ERROR_PROC _("RSSyl: Couldn't process feed at '%s'\n") #define RSSYL_LOG_ABORTED_EXITING _("RSSyl: Application is exiting, couldn't finish updating feed at '%s'\n") -FolderItem *rssyl_feed_subscribe_new(FolderItem *parent, const gchar *url, - gboolean verbose); - MsgInfo *rssyl_feed_parse_item_to_msginfo(gchar *file, MsgFlags flags, gboolean a, gboolean b, FolderItem *item); diff --git a/src/plugins/rssyl/rssyl_subscribe.c b/src/plugins/rssyl/rssyl_subscribe.c index fcb5f8136..b5da74cdd 100644 --- a/src/plugins/rssyl/rssyl_subscribe.c +++ b/src/plugins/rssyl/rssyl_subscribe.c @@ -56,7 +56,7 @@ static void rssyl_subscribe_foreach_func(gpointer data, gpointer user_data) rssyl_add_item(ritem, feed_item); } -gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, +FolderItem *rssyl_subscribe(FolderItem *parent, const gchar *url, gboolean verbose) { gchar *myurl = NULL, *tmpname = NULL, *tmpname2 = NULL; @@ -91,7 +91,7 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, feed_free(ctx->feed); g_free(ctx->error); g_free(ctx); - return FALSE; + return NULL; } if (verbose) { @@ -105,7 +105,7 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, if (sctx->feed == NULL) { debug_print("RSSyl: User cancelled subscribe.\n"); g_free(sctx); - return FALSE; + return NULL; } edit_properties = sctx->edit_properties; @@ -161,7 +161,7 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, g_free(ctx->error); g_free(ctx); g_free(myurl); - return FALSE; + return NULL; } debug_print("RSSyl: Adding '%s'\n", ctx->feed->url); @@ -185,5 +185,5 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, folder_item_update_thaw(); - return TRUE; + return new_item; } diff --git a/src/plugins/rssyl/rssyl_subscribe.h b/src/plugins/rssyl/rssyl_subscribe.h index 52b80f97d..37139b50f 100644 --- a/src/plugins/rssyl/rssyl_subscribe.h +++ b/src/plugins/rssyl/rssyl_subscribe.h @@ -1,6 +1,6 @@ #ifndef __RSSYL_SUBSCRIBE_H #define __RSSYL_SUBSCRIBE_H -gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, gboolean verbose); +FolderItem *rssyl_subscribe(FolderItem *parent, const gchar *url, gboolean verbose); #endif /* __RSSYL_SUBSCRIBE_H */ -- 2.25.1