From c86f130d7c337d7f1e3937d0a18b990fbbc5abed Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 18 Sep 2011 19:19:02 +0000 Subject: fix for non-existant torrent files --- src/requests.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/requests.c') diff --git a/src/requests.c b/src/requests.c index 1923102..cc1f7ac 100644 --- a/src/requests.c +++ b/src/requests.c @@ -211,11 +211,22 @@ JsonNode *torrent_add_url(const gchar * url, gboolean paused) JsonNode *torrent_add(gchar * filename, gint flags) { - JsonNode *root = base_request(METHOD_TORRENT_ADD); - JsonObject *args = node_get_arguments(root); + JsonNode *root; + JsonObject *args; + + if (!g_file_test(filename, G_FILE_TEST_IS_REGULAR)) + { + g_error("file \"%s\" does not exist.", filename); + return NULL; + } + + root = base_request(METHOD_TORRENT_ADD); + args = node_get_arguments(root); + gchar *encodedFile = trg_base64encode(filename); if (encodedFile) json_object_set_string_member(args, PARAM_METAINFO, encodedFile); + json_object_set_boolean_member(args, PARAM_PAUSED, (flags & TORRENT_ADD_FLAG_PAUSED) == TORRENT_ADD_FLAG_PAUSED); g_free(encodedFile); -- cgit v1.2.3