mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-15 06:47:14 +01:00
return stolen data from g_datalist_id_remove_no_notify() and
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org> * glib.h: * gdataset.c: return stolen data from g_datalist_id_remove_no_notify() and g_dataset_id_remove_no_notify() to avoid second lookup for common use.
This commit is contained in:
parent
c22cf34e92
commit
bbb532d59c
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* glib.h:
|
||||||
|
* gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
|
||||||
|
and g_dataset_id_remove_no_notify() to avoid second lookup for common
|
||||||
|
use.
|
||||||
|
|
||||||
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
2000-02-01 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib.h
|
* glib.h
|
||||||
|
34
gdataset.c
34
gdataset.c
@ -64,7 +64,7 @@ struct _GDataset
|
|||||||
static inline GDataset* g_dataset_lookup (gconstpointer dataset_location);
|
static inline GDataset* g_dataset_lookup (gconstpointer dataset_location);
|
||||||
static inline void g_datalist_clear_i (GData **datalist);
|
static inline void g_datalist_clear_i (GData **datalist);
|
||||||
static void g_dataset_destroy_internal (GDataset *dataset);
|
static void g_dataset_destroy_internal (GDataset *dataset);
|
||||||
static inline void g_data_set_internal (GData **datalist,
|
static inline gpointer g_data_set_internal (GData **datalist,
|
||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify destroy_func,
|
GDestroyNotify destroy_func,
|
||||||
@ -198,7 +198,7 @@ g_dataset_destroy (gconstpointer dataset_location)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* HOLDS: g_dataset_global_lock */
|
/* HOLDS: g_dataset_global_lock */
|
||||||
static inline void
|
static inline gpointer
|
||||||
g_data_set_internal (GData **datalist,
|
g_data_set_internal (GData **datalist,
|
||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
@ -217,6 +217,8 @@ g_data_set_internal (GData **datalist,
|
|||||||
{
|
{
|
||||||
if (list->id == key_id)
|
if (list->id == key_id)
|
||||||
{
|
{
|
||||||
|
gpointer ret_data = NULL;
|
||||||
|
|
||||||
if (prev)
|
if (prev)
|
||||||
prev->next = list->next;
|
prev->next = list->next;
|
||||||
else
|
else
|
||||||
@ -242,6 +244,8 @@ g_data_set_internal (GData **datalist,
|
|||||||
list->destroy_func (list->data);
|
list->destroy_func (list->data);
|
||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
ret_data = list->data;
|
||||||
|
|
||||||
if (g_data_cache_length < G_DATA_CACHE_MAX)
|
if (g_data_cache_length < G_DATA_CACHE_MAX)
|
||||||
{
|
{
|
||||||
@ -252,7 +256,7 @@ g_data_set_internal (GData **datalist,
|
|||||||
else
|
else
|
||||||
g_mem_chunk_free (g_data_mem_chunk, list);
|
g_mem_chunk_free (g_data_mem_chunk, list);
|
||||||
|
|
||||||
return;
|
return ret_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
prev = list;
|
prev = list;
|
||||||
@ -288,7 +292,7 @@ g_data_set_internal (GData **datalist,
|
|||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
list = list->next;
|
list = list->next;
|
||||||
@ -308,6 +312,8 @@ g_data_set_internal (GData **datalist,
|
|||||||
list->destroy_func = destroy_func;
|
list->destroy_func = destroy_func;
|
||||||
*datalist = list;
|
*datalist = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -373,11 +379,13 @@ g_datalist_id_set_data_full (GData **datalist,
|
|||||||
G_UNLOCK (g_dataset_global);
|
G_UNLOCK (g_dataset_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
gpointer
|
||||||
g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
||||||
GQuark key_id)
|
GQuark key_id)
|
||||||
{
|
{
|
||||||
g_return_if_fail (dataset_location != NULL);
|
gpointer ret_data = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (dataset_location != NULL, NULL);
|
||||||
|
|
||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
if (key_id && g_dataset_location_ht)
|
if (key_id && g_dataset_location_ht)
|
||||||
@ -386,21 +394,27 @@ g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
|||||||
|
|
||||||
dataset = g_dataset_lookup (dataset_location);
|
dataset = g_dataset_lookup (dataset_location);
|
||||||
if (dataset)
|
if (dataset)
|
||||||
g_data_set_internal (&dataset->datalist, key_id, NULL, (GDestroyNotify) 42, dataset);
|
ret_data = g_data_set_internal (&dataset->datalist, key_id, NULL, (GDestroyNotify) 42, dataset);
|
||||||
}
|
}
|
||||||
G_UNLOCK (g_dataset_global);
|
G_UNLOCK (g_dataset_global);
|
||||||
|
|
||||||
|
return ret_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
gpointer
|
||||||
g_datalist_id_remove_no_notify (GData **datalist,
|
g_datalist_id_remove_no_notify (GData **datalist,
|
||||||
GQuark key_id)
|
GQuark key_id)
|
||||||
{
|
{
|
||||||
g_return_if_fail (datalist != NULL);
|
gpointer ret_data = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (datalist != NULL, NULL);
|
||||||
|
|
||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
if (key_id && g_dataset_location_ht)
|
if (key_id && g_dataset_location_ht)
|
||||||
g_data_set_internal (datalist, key_id, NULL, (GDestroyNotify) 42, NULL);
|
ret_data = g_data_set_internal (datalist, key_id, NULL, (GDestroyNotify) 42, NULL);
|
||||||
G_UNLOCK (g_dataset_global);
|
G_UNLOCK (g_dataset_global);
|
||||||
|
|
||||||
|
return ret_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
gpointer
|
gpointer
|
||||||
|
4
glib.h
4
glib.h
@ -1971,7 +1971,7 @@ void g_datalist_id_set_data_full (GData **datalist,
|
|||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify destroy_func);
|
GDestroyNotify destroy_func);
|
||||||
void g_datalist_id_remove_no_notify (GData **datalist,
|
gpointer g_datalist_id_remove_no_notify (GData **datalist,
|
||||||
GQuark key_id);
|
GQuark key_id);
|
||||||
void g_datalist_foreach (GData **datalist,
|
void g_datalist_foreach (GData **datalist,
|
||||||
GDataForeachFunc func,
|
GDataForeachFunc func,
|
||||||
@ -2001,7 +2001,7 @@ void g_dataset_id_set_data_full (gconstpointer dataset_location,
|
|||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify destroy_func);
|
GDestroyNotify destroy_func);
|
||||||
void g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
||||||
GQuark key_id);
|
GQuark key_id);
|
||||||
void g_dataset_foreach (gconstpointer dataset_location,
|
void g_dataset_foreach (gconstpointer dataset_location,
|
||||||
GDataForeachFunc func,
|
GDataForeachFunc func,
|
||||||
|
@ -64,7 +64,7 @@ struct _GDataset
|
|||||||
static inline GDataset* g_dataset_lookup (gconstpointer dataset_location);
|
static inline GDataset* g_dataset_lookup (gconstpointer dataset_location);
|
||||||
static inline void g_datalist_clear_i (GData **datalist);
|
static inline void g_datalist_clear_i (GData **datalist);
|
||||||
static void g_dataset_destroy_internal (GDataset *dataset);
|
static void g_dataset_destroy_internal (GDataset *dataset);
|
||||||
static inline void g_data_set_internal (GData **datalist,
|
static inline gpointer g_data_set_internal (GData **datalist,
|
||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify destroy_func,
|
GDestroyNotify destroy_func,
|
||||||
@ -198,7 +198,7 @@ g_dataset_destroy (gconstpointer dataset_location)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* HOLDS: g_dataset_global_lock */
|
/* HOLDS: g_dataset_global_lock */
|
||||||
static inline void
|
static inline gpointer
|
||||||
g_data_set_internal (GData **datalist,
|
g_data_set_internal (GData **datalist,
|
||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
@ -217,6 +217,8 @@ g_data_set_internal (GData **datalist,
|
|||||||
{
|
{
|
||||||
if (list->id == key_id)
|
if (list->id == key_id)
|
||||||
{
|
{
|
||||||
|
gpointer ret_data = NULL;
|
||||||
|
|
||||||
if (prev)
|
if (prev)
|
||||||
prev->next = list->next;
|
prev->next = list->next;
|
||||||
else
|
else
|
||||||
@ -242,6 +244,8 @@ g_data_set_internal (GData **datalist,
|
|||||||
list->destroy_func (list->data);
|
list->destroy_func (list->data);
|
||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
ret_data = list->data;
|
||||||
|
|
||||||
if (g_data_cache_length < G_DATA_CACHE_MAX)
|
if (g_data_cache_length < G_DATA_CACHE_MAX)
|
||||||
{
|
{
|
||||||
@ -252,7 +256,7 @@ g_data_set_internal (GData **datalist,
|
|||||||
else
|
else
|
||||||
g_mem_chunk_free (g_data_mem_chunk, list);
|
g_mem_chunk_free (g_data_mem_chunk, list);
|
||||||
|
|
||||||
return;
|
return ret_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
prev = list;
|
prev = list;
|
||||||
@ -288,7 +292,7 @@ g_data_set_internal (GData **datalist,
|
|||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
list = list->next;
|
list = list->next;
|
||||||
@ -308,6 +312,8 @@ g_data_set_internal (GData **datalist,
|
|||||||
list->destroy_func = destroy_func;
|
list->destroy_func = destroy_func;
|
||||||
*datalist = list;
|
*datalist = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -373,11 +379,13 @@ g_datalist_id_set_data_full (GData **datalist,
|
|||||||
G_UNLOCK (g_dataset_global);
|
G_UNLOCK (g_dataset_global);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
gpointer
|
||||||
g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
||||||
GQuark key_id)
|
GQuark key_id)
|
||||||
{
|
{
|
||||||
g_return_if_fail (dataset_location != NULL);
|
gpointer ret_data = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (dataset_location != NULL, NULL);
|
||||||
|
|
||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
if (key_id && g_dataset_location_ht)
|
if (key_id && g_dataset_location_ht)
|
||||||
@ -386,21 +394,27 @@ g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
|||||||
|
|
||||||
dataset = g_dataset_lookup (dataset_location);
|
dataset = g_dataset_lookup (dataset_location);
|
||||||
if (dataset)
|
if (dataset)
|
||||||
g_data_set_internal (&dataset->datalist, key_id, NULL, (GDestroyNotify) 42, dataset);
|
ret_data = g_data_set_internal (&dataset->datalist, key_id, NULL, (GDestroyNotify) 42, dataset);
|
||||||
}
|
}
|
||||||
G_UNLOCK (g_dataset_global);
|
G_UNLOCK (g_dataset_global);
|
||||||
|
|
||||||
|
return ret_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
gpointer
|
||||||
g_datalist_id_remove_no_notify (GData **datalist,
|
g_datalist_id_remove_no_notify (GData **datalist,
|
||||||
GQuark key_id)
|
GQuark key_id)
|
||||||
{
|
{
|
||||||
g_return_if_fail (datalist != NULL);
|
gpointer ret_data = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (datalist != NULL, NULL);
|
||||||
|
|
||||||
G_LOCK (g_dataset_global);
|
G_LOCK (g_dataset_global);
|
||||||
if (key_id && g_dataset_location_ht)
|
if (key_id && g_dataset_location_ht)
|
||||||
g_data_set_internal (datalist, key_id, NULL, (GDestroyNotify) 42, NULL);
|
ret_data = g_data_set_internal (datalist, key_id, NULL, (GDestroyNotify) 42, NULL);
|
||||||
G_UNLOCK (g_dataset_global);
|
G_UNLOCK (g_dataset_global);
|
||||||
|
|
||||||
|
return ret_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
gpointer
|
gpointer
|
||||||
|
@ -1971,7 +1971,7 @@ void g_datalist_id_set_data_full (GData **datalist,
|
|||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify destroy_func);
|
GDestroyNotify destroy_func);
|
||||||
void g_datalist_id_remove_no_notify (GData **datalist,
|
gpointer g_datalist_id_remove_no_notify (GData **datalist,
|
||||||
GQuark key_id);
|
GQuark key_id);
|
||||||
void g_datalist_foreach (GData **datalist,
|
void g_datalist_foreach (GData **datalist,
|
||||||
GDataForeachFunc func,
|
GDataForeachFunc func,
|
||||||
@ -2001,7 +2001,7 @@ void g_dataset_id_set_data_full (gconstpointer dataset_location,
|
|||||||
GQuark key_id,
|
GQuark key_id,
|
||||||
gpointer data,
|
gpointer data,
|
||||||
GDestroyNotify destroy_func);
|
GDestroyNotify destroy_func);
|
||||||
void g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
|
||||||
GQuark key_id);
|
GQuark key_id);
|
||||||
void g_dataset_foreach (gconstpointer dataset_location,
|
void g_dataset_foreach (gconstpointer dataset_location,
|
||||||
GDataForeachFunc func,
|
GDataForeachFunc func,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user