#include "mrss.h"
#include "mrss_internal.h"
Include dependency graph for mrss_free.c:
Go to the source code of this file.
Functions | |
static void | __mrss_free_channel (mrss_t *mrss) |
static void | __mrss_free_category (mrss_category_t *category) |
static void | __mrss_free_hour (mrss_hour_t *hour) |
static void | __mrss_free_day (mrss_day_t *day) |
static void | __mrss_free_item (mrss_item_t *item) |
mrss_error_t | mrss_free (mrss_generic_t element) |
|
Definition at line 162 of file mrss_free.c. References mrss_category_t::category, and mrss_category_t::domain. Referenced by __mrss_free_channel(), __mrss_free_item(), and mrss_free(). 00163 { 00164 if (!category) 00165 return; 00166 00167 if (category->category) 00168 free (category->category); 00169 00170 if (category->domain) 00171 free (category->domain); 00172 00173 free (category); 00174 }
|
|
Definition at line 35 of file mrss_free.c. References __mrss_free_category(), __mrss_free_day(), __mrss_free_hour(), __mrss_free_item(), mrss_t::category, mrss_t::cloud, mrss_t::cloud_domain, mrss_t::cloud_path, mrss_t::cloud_protocol, mrss_t::cloud_registerProcedure, mrss_t::copyright, mrss_t::description, mrss_t::docs, mrss_t::file, mrss_t::generator, mrss_t::image_description, mrss_t::image_link, mrss_t::image_title, mrss_t::image_url, mrss_t::item, mrss_t::language, mrss_t::lastBuildDate, mrss_t::link, mrss_t::managingeditor, mrss_item_t::next, mrss_day_t::next, mrss_hour_t::next, mrss_category_t::next, mrss_t::pubDate, mrss_t::rating, mrss_t::skipDays, mrss_t::skipHours, mrss_t::textinput_description, mrss_t::textinput_link, mrss_t::textinput_name, mrss_t::textinput_title, mrss_t::title, and mrss_t::webMaster. Referenced by mrss_free(). 00036 { 00037 mrss_hour_t *hour; 00038 mrss_day_t *day; 00039 mrss_category_t *category; 00040 mrss_item_t *item; 00041 void *old; 00042 00043 if (!mrss) 00044 return; 00045 00046 if (mrss->file) 00047 free (mrss->file); 00048 00049 if (mrss->title) 00050 free (mrss->title); 00051 00052 if (mrss->description) 00053 free (mrss->description); 00054 00055 if (mrss->link) 00056 free (mrss->link); 00057 00058 if (mrss->language) 00059 free (mrss->language); 00060 00061 if (mrss->rating) 00062 free (mrss->rating); 00063 00064 if (mrss->copyright) 00065 free (mrss->copyright); 00066 00067 if (mrss->pubDate) 00068 free (mrss->pubDate); 00069 00070 if (mrss->lastBuildDate) 00071 free (mrss->lastBuildDate); 00072 00073 if (mrss->docs) 00074 free (mrss->docs); 00075 00076 if (mrss->managingeditor) 00077 free (mrss->managingeditor); 00078 00079 if (mrss->webMaster) 00080 free (mrss->webMaster); 00081 00082 if (mrss->image_title) 00083 free (mrss->image_title); 00084 00085 if (mrss->image_url) 00086 free (mrss->image_url); 00087 00088 if (mrss->image_link) 00089 free (mrss->image_link); 00090 00091 if (mrss->image_description) 00092 free (mrss->image_description); 00093 00094 if (mrss->textinput_title) 00095 free (mrss->textinput_title); 00096 00097 if (mrss->textinput_description) 00098 free (mrss->textinput_description); 00099 00100 if (mrss->textinput_name) 00101 free (mrss->textinput_name); 00102 00103 if (mrss->textinput_link) 00104 free (mrss->textinput_link); 00105 00106 if (mrss->generator) 00107 free (mrss->generator); 00108 00109 if (mrss->cloud) 00110 free (mrss->cloud); 00111 00112 if (mrss->cloud_domain) 00113 free (mrss->cloud_domain); 00114 00115 if (mrss->cloud_path) 00116 free (mrss->cloud_path); 00117 00118 if (mrss->cloud_registerProcedure) 00119 free (mrss->cloud_registerProcedure); 00120 00121 if (mrss->cloud_protocol) 00122 free (mrss->cloud_protocol); 00123 00124 category = mrss->category; 00125 while (category) 00126 { 00127 old = category; 00128 category = category->next; 00129 00130 __mrss_free_category ((mrss_category_t *) old); 00131 } 00132 00133 hour = mrss->skipHours; 00134 while (hour) 00135 { 00136 old = hour; 00137 hour = hour->next; 00138 00139 __mrss_free_hour ((mrss_hour_t *) old); 00140 } 00141 00142 day = mrss->skipDays; 00143 while (day) 00144 { 00145 old = day; 00146 day = day->next; 00147 00148 __mrss_free_day ((mrss_day_t *) old); 00149 } 00150 00151 item = mrss->item; 00152 while (item) 00153 { 00154 old = item; 00155 item = item->next; 00156 00157 __mrss_free_item ((mrss_item_t *) old); 00158 } 00159 }
Here is the call graph for this function: ![]() |
|
Definition at line 189 of file mrss_free.c. References mrss_day_t::day. Referenced by __mrss_free_channel(), and mrss_free(). 00190 { 00191 if (!day) 00192 return; 00193 00194 if (day->day) 00195 free (day->day); 00196 00197 free (day); 00198 }
|
|
Definition at line 177 of file mrss_free.c. References mrss_hour_t::hour. Referenced by __mrss_free_channel(), and mrss_free(). 00178 { 00179 if (!hour) 00180 return; 00181 00182 if (hour->hour) 00183 free (hour->hour); 00184 00185 free (hour); 00186 }
|
|
Definition at line 201 of file mrss_free.c. References __mrss_free_category(), mrss_item_t::author, mrss_item_t::category, mrss_item_t::comments, mrss_item_t::description, mrss_item_t::enclosure, mrss_item_t::enclosure_type, mrss_item_t::enclosure_url, mrss_item_t::guid, mrss_item_t::link, mrss_category_t::next, mrss_item_t::pubDate, mrss_item_t::source, mrss_item_t::source_url, and mrss_item_t::title. Referenced by __mrss_free_channel(), and mrss_free(). 00202 { 00203 mrss_category_t *category, *old; 00204 00205 if (!item) 00206 return; 00207 00208 if (item->title) 00209 free (item->title); 00210 00211 if (item->link) 00212 free (item->link); 00213 00214 if (item->description) 00215 free (item->description); 00216 00217 if (item->author) 00218 free (item->author); 00219 00220 if (item->comments) 00221 free (item->comments); 00222 00223 if (item->pubDate) 00224 free (item->pubDate); 00225 00226 if (item->guid) 00227 free (item->guid); 00228 00229 if (item->source) 00230 free (item->source); 00231 00232 if (item->source_url) 00233 free (item->source_url); 00234 00235 if (item->enclosure) 00236 free (item->enclosure); 00237 00238 if (item->enclosure_url) 00239 free (item->enclosure_url); 00240 00241 if (item->enclosure_type) 00242 free (item->enclosure_type); 00243 00244 category = item->category; 00245 while (category) 00246 { 00247 old = category; 00248 category = category->next; 00249 00250 __mrss_free_category (old); 00251 } 00252 00253 free (item); 00254 }
Here is the call graph for this function: ![]() |
|
This function frees any type of data struct of libmrss.
mrss_t *t=....; mrss_item_t *item=...; mrss_free(t); mrss_free(item);
Definition at line 259 of file mrss_free.c. References __mrss_free_category(), __mrss_free_channel(), __mrss_free_day(), __mrss_free_hour(), __mrss_free_item(), mrss_t::element, MRSS_ELEMENT_CATEGORY, MRSS_ELEMENT_CHANNEL, MRSS_ELEMENT_ITEM, MRSS_ELEMENT_SKIPDAYS, MRSS_ELEMENT_SKIPHOURS, MRSS_ERR_DATA, and MRSS_OK. Referenced by __mrss_parser_rss(). 00260 { 00261 mrss_t *tmp; 00262 00263 tmp = (mrss_t *) element; 00264 00265 switch (tmp->element) 00266 { 00267 case MRSS_ELEMENT_CHANNEL: 00268 __mrss_free_channel ((mrss_t *) element); 00269 break; 00270 00271 case MRSS_ELEMENT_ITEM: 00272 __mrss_free_item ((mrss_item_t *) element); 00273 break; 00274 00275 case MRSS_ELEMENT_SKIPHOURS: 00276 __mrss_free_hour ((mrss_hour_t *) element); 00277 break; 00278 00279 case MRSS_ELEMENT_SKIPDAYS: 00280 __mrss_free_day ((mrss_day_t *) element); 00281 break; 00282 00283 case MRSS_ELEMENT_CATEGORY: 00284 __mrss_free_category ((mrss_category_t *) element); 00285 break; 00286 00287 default: 00288 return MRSS_ERR_DATA; 00289 } 00290 00291 return MRSS_OK; 00292 }
Here is the call graph for this function: ![]() |