RSSyl: more fixes for Coverity issues
[claws.git] / src / plugins / rssyl / libfeed / feeditemenclosure.c
1 /*
2  * Copyright (C) 2006 Andrej Kacian <andrej@kacian.sk>
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public
15  * License along with this program; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #define __USE_GNU
21
22 #include <stdlib.h>
23 #include <glib.h>
24
25 #include "feeditemenclosure.h"
26
27 FeedItemEnclosure *feed_item_enclosure_new(gchar *url, gchar *type, gulong size)
28 {
29         FeedItemEnclosure *enclosure = NULL;
30
31         g_return_val_if_fail(url != NULL, NULL);
32         g_return_val_if_fail(type != NULL, NULL);
33         g_return_val_if_fail(size > 0, NULL);
34
35         enclosure = malloc( sizeof(FeedItemEnclosure) );
36         enclosure->url = g_strdup(url);
37         enclosure->type = g_strdup(type);
38         enclosure->size = size;
39
40         return enclosure;
41 }
42
43 void feed_item_enclosure_free(FeedItemEnclosure *enclosure)
44 {
45         if( enclosure == NULL )
46                 return;
47
48         g_free(enclosure->url);
49         g_free(enclosure->type);
50
51         g_free(enclosure);
52         enclosure = NULL;
53 }
54
55 /* URL */
56 gchar *feed_item_enclosure_get_url(FeedItemEnclosure *enclosure)
57 {
58         g_return_val_if_fail(enclosure != NULL, NULL);
59         return enclosure->url;
60 }
61
62 void feed_item_enclosure_set_url(FeedItemEnclosure *enclosure, gchar *url)
63 {
64         g_return_if_fail(enclosure != NULL);
65         g_return_if_fail(url != NULL);
66
67         g_free(enclosure->url);
68         enclosure->url = g_strdup(url);
69 }
70
71 /* Type */
72 gchar *feed_item_enclosure_get_type(FeedItemEnclosure *enclosure)
73 {
74         g_return_val_if_fail(enclosure != NULL, NULL);
75         return enclosure->type;
76 }
77
78 void feed_item_enclosure_set_type(FeedItemEnclosure *enclosure, gchar *type)
79 {
80         g_return_if_fail(enclosure != NULL);
81         g_return_if_fail(type != NULL);
82
83         g_free(enclosure->type);
84         enclosure->type = g_strdup(type);
85 }
86
87 /* Size */
88 gulong feed_item_enclosure_get_size(FeedItemEnclosure *enclosure)
89 {
90         g_return_val_if_fail(enclosure != NULL, -1);
91         return enclosure->size;
92 }
93
94 void feed_item_enclosure_set_size(FeedItemEnclosure *enclosure, gulong size)
95 {
96         g_return_if_fail(enclosure != NULL);
97         g_return_if_fail(size > 0);
98
99         enclosure->size = size;
100 }