summaryrefslogtreecommitdiff
path: root/libpiano
diff options
context:
space:
mode:
Diffstat (limited to 'libpiano')
-rw-r--r--libpiano/main.c16
-rw-r--r--libpiano/piano.h2
2 files changed, 15 insertions, 3 deletions
diff --git a/libpiano/main.c b/libpiano/main.c
index 52d7a1b..8ec19bb 100644
--- a/libpiano/main.c
+++ b/libpiano/main.c
@@ -84,6 +84,18 @@ void PianoDestroySearchResult (PianoSearchResult_t *searchResult) {
}
}
+/* free single station
+ * @author PromyLOPh
+ * @added 2008-06-12
+ * @public yes
+ * @param station
+ */
+void PianoDestroyStation (PianoStation_t *station) {
+ free (station->name);
+ free (station->id);
+ memset (station, 0, sizeof (station));
+}
+
/* free complete station list
* @author PromyLOPh
* @added 2008-06-09
@@ -94,11 +106,9 @@ void PianoDestroyStations (PianoHandle_t *ph) {
curStation = ph->stations;
while (curStation != NULL) {
- free (curStation->name);
- free (curStation->id);
lastStation = curStation;
curStation = curStation->next;
- memset (lastStation, 0, sizeof (*lastStation));
+ PianoDestroyStation (lastStation);
free (lastStation);
}
ph->stations = NULL;
diff --git a/libpiano/piano.h b/libpiano/piano.h
index bbe0a9e..9f2f7d7 100644
--- a/libpiano/piano.h
+++ b/libpiano/piano.h
@@ -145,6 +145,8 @@ void PianoInit (PianoHandle_t *);
void PianoDestroy (PianoHandle_t *);
void PianoDestroyPlaylist (PianoHandle_t *ph);
void PianoDestroySearchResult (PianoSearchResult_t *searchResult);
+void PianoDestroyStation (PianoStation_t *station);
+void PianoDestroyStations (PianoHandle_t *ph);
void PianoConnect (PianoHandle_t *, char *, char *);
void PianoGetStations (PianoHandle_t *ph);