rendered paste bodydiff -u -p -r1.232 rhythmdb.c
--- rhythmdb/rhythmdb.c 7 Jul 2006 03:00:45 -0000 1.232
+++ rhythmdb/rhythmdb.c 7 Jul 2006 07:58:05 -0000
@@ -2627,6 +2627,7 @@ rhythmdb_entry_sync_mirrored (RhythmDBEn
static const char *format;
static const char *never;
char *val;
+ gpointer *ptr;
/* PERFORMANCE: doing these lookups every call creates a noticable slowdown */
if (format == NULL)
@@ -2642,7 +2643,8 @@ rhythmdb_entry_sync_mirrored (RhythmDBEn
if (!(entry->flags & RHYTHMDB_ENTRY_LAST_PLAYED_DIRTY))
break;
- old = g_atomic_pointer_get (&entry->last_played_str);
+ ptr = (gpointer*)&entry->last_played_str;
+ old = g_atomic_pointer_get (ptr);
if (entry->last_played == 0) {
new = rb_refstring_new (never);
} else {
@@ -2651,7 +2653,7 @@ rhythmdb_entry_sync_mirrored (RhythmDBEn
g_free (val);
}
- if (g_atomic_pointer_compare_and_exchange ((gpointer*)&entry->last_played_str, old, new))
+ if (g_atomic_pointer_compare_and_exchange (ptr, old, new))
rb_refstring_unref (old);
else
rb_refstring_unref (new);
@@ -2665,12 +2667,13 @@ rhythmdb_entry_sync_mirrored (RhythmDBEn
if (!(entry->flags & RHYTHMDB_ENTRY_FIRST_SEEN_DIRTY))
break;
- old = g_atomic_pointer_get (&entry->first_seen_str);
+ ptr = (gpointer*)&entry->first_seen_str;
+ old = g_atomic_pointer_get (ptr);
val = eel_strdup_strftime (format, localtime ((glong*)&entry->first_seen));
new = rb_refstring_new (val);
g_free (val);
- if (g_atomic_pointer_compare_and_exchange ((gpointer*)&entry->first_seen_str, old, new))
+ if (g_atomic_pointer_compare_and_exchange (ptr, old, new))
rb_refstring_unref (old);
else
rb_refstring_unref (new);
@@ -2683,7 +2686,8 @@ rhythmdb_entry_sync_mirrored (RhythmDBEn
if (!(entry->flags & RHYTHMDB_ENTRY_LAST_SEEN_DIRTY))
break;
- old = g_atomic_pointer_get (&entry->last_seen_str);
+ ptr = (gpointer*)&entry->last_seen_str;
+ old = g_atomic_pointer_get (ptr);
/* only store last seen time as a string for hidden entries */
if (entry->flags & RHYTHMDB_ENTRY_HIDDEN) {
val = eel_strdup_strftime (format, localtime ((glong*)&entry->last_seen));
@@ -2693,7 +2697,7 @@ rhythmdb_entry_sync_mirrored (RhythmDBEn
new = NULL;
}
- if (g_atomic_pointer_compare_and_exchange ((gpointer*)&entry->first_seen_str, old, new))
+ if (g_atomic_pointer_compare_and_exchange (ptr, old, new))
rb_refstring_unref (old);
else
rb_refstring_unref (new);