added g_array_insert_vals() to insert elements at an arbitrary index, and

Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>

	* glib.h garray.[ch]: added g_array_insert_vals() to
	insert elements at an arbitrary index, and
	g_array_insert_val() macro.
This commit is contained in:
Owen Taylor 1998-11-23 15:02:44 +00:00 committed by Owen Taylor
parent 70a6dbff87
commit eabb208b30
12 changed files with 100 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -1,3 +1,9 @@
Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
* glib.h garray.[ch]: added g_array_insert_vals() to
insert elements at an arbitrary index, and
g_array_insert_val() macro.
Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
* glib.h:

View File

@ -112,6 +112,27 @@ g_array_prepend_vals (GArray *farray,
return farray;
}
GArray*
g_array_insert_vals (GArray *farray,
guint index,
gconstpointer data,
guint len)
{
GRealArray *array = (GRealArray*) farray;
g_array_maybe_expand (array, len);
g_memmove (array->data + array->elt_size * (len + index),
array->data + array->elt_size * index,
array->elt_size * (array->len - index));
memcpy (array->data + array->elt_size * index, data, len * array->elt_size);
array->len += len;
return farray;
}
GArray*
g_array_set_size (GArray *farray,
guint length)

5
glib.h
View File

@ -1644,6 +1644,7 @@ void g_string_sprintfa (GString *string,
#define g_array_append_val(a,v) g_array_append_vals(a,&v,1)
#define g_array_prepend_val(a,v) g_array_prepend_vals(a,&v,1)
#define g_array_insert_val(a,i,v) g_array_prepend_vals(a,i,&v,1)
#define g_array_index(a,t,i) (((t*)a->data)[i])
GArray* g_array_new (gboolean zero_terminated,
@ -1657,6 +1658,10 @@ GArray* g_array_append_vals (GArray *array,
GArray* g_array_prepend_vals (GArray *array,
gconstpointer data,
guint len);
GArray* g_array_insert_vals (GArray *array,
guint index,
gconstpointer data,
guint len);
GArray* g_array_set_size (GArray *array,
guint length);
GArray* g_array_remove_index (GArray *array,

View File

@ -112,6 +112,27 @@ g_array_prepend_vals (GArray *farray,
return farray;
}
GArray*
g_array_insert_vals (GArray *farray,
guint index,
gconstpointer data,
guint len)
{
GRealArray *array = (GRealArray*) farray;
g_array_maybe_expand (array, len);
g_memmove (array->data + array->elt_size * (len + index),
array->data + array->elt_size * index,
array->elt_size * (array->len - index));
memcpy (array->data + array->elt_size * index, data, len * array->elt_size);
array->len += len;
return farray;
}
GArray*
g_array_set_size (GArray *farray,
guint length)

View File

@ -1644,6 +1644,7 @@ void g_string_sprintfa (GString *string,
#define g_array_append_val(a,v) g_array_append_vals(a,&v,1)
#define g_array_prepend_val(a,v) g_array_prepend_vals(a,&v,1)
#define g_array_insert_val(a,i,v) g_array_prepend_vals(a,i,&v,1)
#define g_array_index(a,t,i) (((t*)a->data)[i])
GArray* g_array_new (gboolean zero_terminated,
@ -1657,6 +1658,10 @@ GArray* g_array_append_vals (GArray *array,
GArray* g_array_prepend_vals (GArray *array,
gconstpointer data,
guint len);
GArray* g_array_insert_vals (GArray *array,
guint index,
gconstpointer data,
guint len);
GArray* g_array_set_size (GArray *array,
guint length);
GArray* g_array_remove_index (GArray *array,