summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorg Schuler <jcsjcs@users.sourceforge.net>2006-02-03 18:44:48 +0000
committerJorg Schuler <jcsjcs@users.sourceforge.net>2006-02-03 18:44:48 +0000
commitf9fde30532d89f85d88de0c294519bf636dc5a4c (patch)
tree6b976f7e493d197c15a1ee61bd462759f2a05bb6
parent471cbe6cf51414f718ca1b80b668376dc30ca73c (diff)
downloadlibgpod-f9fde30532d89f85d88de0c294519bf636dc5a4c.tar.gz
libgpod-f9fde30532d89f85d88de0c294519bf636dc5a4c.tar.xz
libgpod-f9fde30532d89f85d88de0c294519bf636dc5a4c.zip
* src/itdb_itunesdb.c, src/itdb_playlist.c, src/ithumb-writer.c:
removed nested-functions. Thanks to Brian Jackson for the patch (he was not the only to send patches -- please, nobody feel offended that I didn't act sooner). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1201 f01d2545-417e-4e96-918e-98f8d0dbbcb6
-rw-r--r--ChangeLog7
-rw-r--r--src/itdb_itunesdb.c136
-rw-r--r--src/itdb_playlist.c32
-rw-r--r--src/ithumb-writer.c12
4 files changed, 99 insertions, 88 deletions
diff --git a/ChangeLog b/ChangeLog
index 23532b4..599004d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2005-01-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
+ * src/itdb_itunesdb.c, src/itdb_playlist.c, src/ithumb-writer.c:
+ removed nested-functions. Thanks to Brian Jackson for the patch
+ (he was not the only to send patches -- please, nobody feel
+ offended that I didn't act sooner).
+
+2005-01-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
* src/ipod-device.c: (ipod_device_set_property) check hal_context
before accessing it to avoid segfault when hald is not running.
diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c
index 54c076a..3e1388d 100644
--- a/src/itdb_itunesdb.c
+++ b/src/itdb_itunesdb.c
@@ -1395,17 +1395,19 @@ static glong find_mhsd (FContents *cts, guint32 type)
+gint pos_comp (gpointer a, gpointer b);
+gint pos_comp (gpointer a, gpointer b)
+{
+ return (GPOINTER_TO_UINT(a) - GPOINTER_TO_UINT(b));
+}
+
+
/* Read and process the mhip at @seek. Return a pointer to the next
possible mhip. */
/* Return value: -1 if no mhip is present at @seek */
static glong get_mhip (FImport *fimp, Itdb_Playlist *plitem,
glong mhip_seek)
{
- auto gint pos_comp (gpointer a, gpointer b);
- gint pos_comp (gpointer a, gpointer b)
- {
- return (GPOINTER_TO_UINT(a) - GPOINTER_TO_UINT(b));
- }
gboolean first_entry = TRUE;
FContents *cts;
guint32 mhip_hlen, mhip_len, mhod_num, mhod_seek;
@@ -3229,6 +3231,69 @@ static gboolean write_playlist_mhips (FExport *fexp,
}
+void free_memberlist (gpointer data);
+void write_one_podcast_group (gpointer key, gpointer value, gpointer userdata);
+void free_memberlist (gpointer data)
+{
+ GList **memberlist = data;
+ if (memberlist)
+ {
+ g_list_free (*memberlist);
+ g_free (memberlist);
+ }
+}
+void write_one_podcast_group (gpointer key, gpointer value,
+ gpointer userdata)
+{
+ gchar *album = key;
+ GList **memberlist = value;
+ FExport *fexp = userdata;
+ GList *gl;
+ WContents *cts;
+ glong mhip_seek;
+ guint32 groupid;
+ Itdb_iTunesDB *itdb;
+ MHODData mhod;
+
+ g_return_if_fail (album);
+ g_return_if_fail (memberlist);
+ g_return_if_fail (fexp);
+ g_return_if_fail (fexp->itdb);
+ g_return_if_fail (fexp->itunesdb);
+
+ cts = fexp->itunesdb;
+ itdb = fexp->itdb;
+ mhip_seek = cts->pos;
+
+ groupid = fexp->next_id++;
+ mk_mhip (fexp, 1, 256, groupid, 0, 0, 0);
+
+ mhod.valid = TRUE;
+ mhod.type = MHOD_ID_TITLE;
+ mhod.data.string = album;
+ mk_mhod (cts, &mhod);
+ fix_header (cts, mhip_seek);
+
+ /* write members */
+ for (gl=*memberlist; gl; gl=gl->next)
+ {
+ Itdb_Track *track = gl->data;
+ guint32 mhip_id;
+
+ g_return_if_fail (track);
+
+ mhip_seek = cts->pos;
+ mhip_id = fexp->next_id++;
+ mk_mhip (fexp, 1, 0, mhip_id, track->id, 0, groupid);
+ mhod.type = MHOD_ID_PLAYLIST;
+ mhod.data.track_pos = mhip_id;
+ mk_mhod (cts, &mhod);
+ fix_header (cts, mhip_seek);
+ }
+}
+
+
+
/* write out the mhip/mhod pairs for the podcast playlist
@pl. @mhyp_seek points to the start of the corresponding mhyp, but
is not used yet. */
@@ -3236,67 +3301,6 @@ static gboolean write_podcast_mhips (FExport *fexp,
Itdb_Playlist *pl,
glong mhyp_seek)
{
- auto void free_memberlist (gpointer data);
- auto void write_one_podcast_group (gpointer key, gpointer value,
- gpointer userdata);
- void free_memberlist (gpointer data)
- {
- GList **memberlist = data;
- if (memberlist)
- {
- g_list_free (*memberlist);
- g_free (memberlist);
- }
- }
- auto void write_one_podcast_group (gpointer key, gpointer value,
- gpointer userdata)
- {
- gchar *album = key;
- GList **memberlist = value;
- FExport *fexp = userdata;
- GList *gl;
- WContents *cts;
- glong mhip_seek;
- guint32 groupid;
- Itdb_iTunesDB *itdb;
- MHODData mhod;
-
- g_return_if_fail (album);
- g_return_if_fail (memberlist);
- g_return_if_fail (fexp);
- g_return_if_fail (fexp->itdb);
- g_return_if_fail (fexp->itunesdb);
-
- cts = fexp->itunesdb;
- itdb = fexp->itdb;
- mhip_seek = cts->pos;
-
- groupid = fexp->next_id++;
- mk_mhip (fexp, 1, 256, groupid, 0, 0, 0);
-
- mhod.valid = TRUE;
- mhod.type = MHOD_ID_TITLE;
- mhod.data.string = album;
- mk_mhod (cts, &mhod);
- fix_header (cts, mhip_seek);
-
- /* write members */
- for (gl=*memberlist; gl; gl=gl->next)
- {
- Itdb_Track *track = gl->data;
- guint32 mhip_id;
-
- g_return_if_fail (track);
-
- mhip_seek = cts->pos;
- mhip_id = fexp->next_id++;
- mk_mhip (fexp, 1, 0, mhip_id, track->id, 0, groupid);
- mhod.type = MHOD_ID_PLAYLIST;
- mhod.data.track_pos = mhip_id;
- mk_mhod (cts, &mhod);
- fix_header (cts, mhip_seek);
- }
- }
GList *gl;
WContents *cts;
guint32 mhip_num;
diff --git a/src/itdb_playlist.c b/src/itdb_playlist.c
index b2d7660..89d77cb 100644
--- a/src/itdb_playlist.c
+++ b/src/itdb_playlist.c
@@ -782,38 +782,38 @@ void itdb_spl_update (Itdb_Playlist *spl)
}
+void spl_update (Itdb_Playlist *playlist, gpointer data);
+void spl_update (Itdb_Playlist *playlist, gpointer data)
+{
+ g_return_if_fail (playlist);
+ itdb_spl_update (playlist);
+}
/* update all smart playlists */
void itdb_spl_update_all (Itdb_iTunesDB *itdb)
{
- auto void spl_update (Itdb_Playlist *playlist, gpointer data);
- void spl_update (Itdb_Playlist *playlist, gpointer data)
- {
- g_return_if_fail (playlist);
- itdb_spl_update (playlist);
- }
-
g_return_if_fail (itdb);
g_list_foreach (itdb->playlists, (GFunc)spl_update, NULL);
}
+void spl_update2 (Itdb_Playlist *playlist, gpointer data);
+void spl_update2 (Itdb_Playlist *playlist, gpointer data)
+{
+ g_return_if_fail (playlist);
+ if (playlist->is_spl && playlist->splpref.liveupdate)
+ itdb_spl_update (playlist);
+}
+
+
/* update all smart playlists with 'live updating' set*/
void itdb_spl_update_live (Itdb_iTunesDB *itdb)
{
- auto void spl_update (Itdb_Playlist *playlist, gpointer data);
- void spl_update (Itdb_Playlist *playlist, gpointer data)
- {
- g_return_if_fail (playlist);
- if (playlist->is_spl && playlist->splpref.liveupdate)
- itdb_spl_update (playlist);
- }
-
g_return_if_fail (itdb);
- g_list_foreach (itdb->playlists, (GFunc)spl_update, NULL);
+ g_list_foreach (itdb->playlists, (GFunc)spl_update2, NULL);
}
diff --git a/src/ithumb-writer.c b/src/ithumb-writer.c
index 111552a..e6411b9 100644
--- a/src/ithumb-writer.c
+++ b/src/ithumb-writer.c
@@ -291,16 +291,16 @@ ithumb_writer_free (iThumbWriter *writer)
}
+gint offset_sort (gconstpointer a, gconstpointer b);
+gint offset_sort (gconstpointer a, gconstpointer b)
+{
+ return (-(((Itdb_Thumb *)a)->offset - ((Itdb_Thumb *)b)->offset));
+}
+
static gboolean ithumb_rearrange_thumbnail_file (gpointer _key,
gpointer _thumbs,
gpointer _user_data)
{
- auto gint offset_sort (gconstpointer a, gconstpointer b);
- gint offset_sort (gconstpointer a, gconstpointer b)
- {
- return (-(((Itdb_Thumb *)a)->offset -
- ((Itdb_Thumb *)b)->offset));
- }
const gchar *filename = _key;
GList *thumbs = _thumbs;
gboolean *result = _user_data;