New file. Short notes on what has been said in e-mail, plus a couple other

Thu Jan 21 23:55:54 EST 1999  Jeff Garzik  <jgarzik@pobox.com>

        * TODO:
        New file.  Short notes on what has been said in e-mail, plus a
        couple other new items.

        * glib.h, glist.c:
        New function g_list_delete().  Removes a node from the list,
        then frees it.
This commit is contained in:
EST 1999 Jeff Garzik 1999-01-22 05:02:37 +00:00 committed by Jeff Garzik
parent de56462be9
commit 2ae91cff96
14 changed files with 173 additions and 2 deletions

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

View File

@ -1,3 +1,13 @@
Thu Jan 21 23:55:54 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* TODO:
New file. Short notes on what has been said in e-mail, plus a
couple other new items.
* glib.h, glist.c:
New function g_list_delete(). Removes a node from the list,
then frees it.
Thu Jan 21 12:40:11 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/{Makefile.am, string-test.c, strfunc-test.c}:

63
TODO Normal file
View File

@ -0,0 +1,63 @@
TODO for GLib 1.3:
* alloca support, with replacement if native alloca not available
- check out gettext's implementation
--------------------------------------------------------------------
Ideas for GLib 1.3:
(jgarzik)
* wrap i18n routines on various platforms; wrap gettext libintl as a
fallback
* benchmark garbage-collecting malloc (not for inclusion into GLib, just
general knowledge)
* coneill's optimized MD5 checksum routine, maybe some other checksums
too, encapsulated in a GChecksum. Allow choice between a few built-in
checksum functions, MD5, CRC, ?, or a user-specified checksum
function pointer.
* New ADTs: trie, skip list, red-black tree, queue (below), stack (below)
* decent random numbers (really a portability thing)
* 'make check' tests one per module, plus bug report regression tests
and such
* new func g_list_delete, combines g_list_remove_link and g_list_free1
* primitive memory leak checking by g_malloc, g_free
* alloca-based convenience macros, counterparts to:
g_new, g_new0, g_strdup, g_strndup, g_strconcat, ???
* GStack, opaque ADT with interface:
stack = g_stack_new ();
count = g_stack_size (stack);
g_stack_push (stack, data);
data = g_stack_pop (stack);
slist = g_stack_get_list (stack);
* GQueue, opaque ADT with interface:
q = g_queue_new ();
count = g_queue_size (q);
q_queue_push_front (q, data);
q_queue_push_back (q, data);
data = q_queue_pop_front (q);
data = q_queue_pop_back (q);
#define q_queue_push q_queue_push_back
#define q_queue_pop q_queue_pop_front
list = g_queue_get_list (q);
#define g_queue_get_front g_queue_get_list
list_end = g_queue_get_back (q);

2
glib.h
View File

@ -852,6 +852,8 @@ GList* g_list_insert_sorted (GList *list,
GCompareFunc func);
GList* g_list_concat (GList *list1,
GList *list2);
GList* g_list_delete (GList *list,
GList *link);
GList* g_list_remove (GList *list,
gpointer data);
GList* g_list_remove_link (GList *list,

View File

@ -852,6 +852,8 @@ GList* g_list_insert_sorted (GList *list,
GCompareFunc func);
GList* g_list_concat (GList *list1,
GList *list2);
GList* g_list_delete (GList *list,
GList *link);
GList* g_list_remove (GList *list,
gpointer data);
GList* g_list_remove_link (GList *list,

View File

@ -307,6 +307,17 @@ g_list_remove_link (GList *list,
return list;
}
GList*
g_list_delete (GList *list, GList *link)
{
list = g_list_remove_link (list, link);
g_list_free_1 (link);
return list;
}
GList*
g_list_copy (GList *list)
{

11
glist.c
View File

@ -307,6 +307,17 @@ g_list_remove_link (GList *list,
return list;
}
GList*
g_list_delete (GList *list, GList *link)
{
list = g_list_remove_link (list, link);
g_list_free_1 (link);
return list;
}
GList*
g_list_copy (GList *list)
{

View File

@ -29,12 +29,14 @@ extern "C" {
#define G_MODULE_IMPL_DL 1
#define G_MODULE_IMPL_DLD 2
#define G_MODULE_IMPL_WIN32 3
#define G_MODULE_IMPL_OS2 4
#define G_MODULE_IMPL_BEOS 5
#define G_MODULE_IMPL G_MODULE_IMPL_WIN32
#undef G_MODULE_HAVE_DLERROR
#ifdef __LCC__
#define G_MODULE_NEED_USCORE
#endif
#ifdef __cplusplus
}
#endif /* __cplusplus */