16 Commits

Author SHA1 Message Date
Lukas Fleischer
0f03e80d03 Add missing llist header files to "_SOURCES".
We forgot to add those to the "_SOURCES" variable in commit
0eb1da8dd7fa3ae9d95e12df6058fb41a5ec1c11 and
d668963e2056027526374098efe2869a0d389b92. Spotted by `make distcheck`.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2011-05-17 10:16:32 +02:00
Lukas Fleischer
0eb1da8dd7 Add linked lists implementation.
As discussed on the mailing lists, the various linked list
implementations we currently use at a dozen of different places in the
calcurse source tree are inconvenient and should be replaced by a single
generic solution.

This is a first approach to introduce such a generic implemetation. It
provides following functions:

* llist_init(): Initialize a list.

* llist_free_inner(): Loop through a list and free all items.

* llist_free(): Free the list itself (but not the individual items).

* llist_first(): Get the first item of a list.

* llist_nth(): Get the nth item of a list.

* llist_next(): Get the successor of a list item.

* llist_find_first(): Find an item using a callback function.

* llist_find_next(): Find the next match using a callback function.

* llist_find_nth(): Find the nth item in a list (using a callback).

* llist_get_data(): Get a pointer to the actual data of a list item.

* llist_add(): Add an item at the end of a list.

* llist_add_sorted(): Add an item to a sorted list (using a comparison
                      callback function).

* llist_remove(): Remove an item from a list.

Linked lists are stored in "llist_t" structures, list items are to be
stored in "llist_item_t" structs.

All of the llist_*() functions either expect a pointer to a llist_t
structure (in case the function operates on the list itself) or a
pointer to a llist_item_t (llist_*_next() and llist_get_data()).

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2011-04-19 11:42:32 +02:00
Lukas Fleischer
30da37addd Reformat "src/Makefile.am".
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2011-03-04 10:15:03 +01:00
Lukas Fleischer
91c9cac898 Remove CVS "$Id" headers.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2011-03-03 16:19:45 +01:00
Lukas Fleischer
56b9cbcb84 Fixed file permissions. 2011-03-03 12:21:16 +01:00
Frederic Culot
a8cb1c92ef All headers gathered into a single one. Typedefs suppressed. 2010-03-20 10:54:41 +00:00
Frederic Culot
c20463c47d New files to implement calcurse daemon. 2009-07-20 19:44:04 +00:00
Frederic Culot
27b25548a4 Switch to BSD license. 2009-07-05 20:33:13 +00:00
Frederic Culot
5352496984 Added wrappers around libc's memory management functions, to easily debug memory usage 2008-12-28 13:13:58 +00:00
Frederic Culot
f845721828 new files to manage user-definable keybindings 2008-11-08 19:05:15 +00:00
Frederic Culot
cd5e1e780f Autotools use improved 2007-07-28 15:04:52 +00:00
Frederic Culot
60a4f5c85f sigs.c and sigs.h added 2007-07-23 19:24:03 +00:00
Frederic Culot
f33034788c wins.c and wins.h added 2007-07-21 19:29:36 +00:00
Frederic Culot
ef8432c301 moved LOCALEDIR definition from configure.ac to src/Makefile.am 2006-09-22 13:11:35 +00:00
Frederic Culot
59f5c0dc80 Makefile.am update to take into account notify.c and notify.h
link to lpthread added
2006-09-09 20:04:23 +00:00
Frederic Culot
ac36e94341 Initial revision 2006-07-31 21:00:02 +00:00