Commit Graph

16 Commits

Author SHA1 Message Date
Diogo Cordeiro 483ef917df Merge remote-tracking branch 'upstream/master' into cfulist_set_free_function
This merge was necessary because cfulist_delete_data_with_free_fn
is directly related with the free_fn functionality.
2018-06-08 19:44:48 +01:00
Diogo Cordeiro c25e9cee24 Conditionals tests in cfulist_delete_data_with_free_fn() were simplified 2018-06-08 13:57:08 +01:00
Diogo Cordeiro 4f4439828f Added cfulist_set_free_fn()
In analogy with cfuhash_set_free_fn()
2018-06-08 12:52:10 +01:00
Diogo Cordeiro 4d6a4c0a16 Add cfulist_delete_data_with_free_fn
Conditionals tests in cfulist_delete_data(_with_free_fn) were simplified
2018-06-08 11:43:15 +01:00
Diogo Cordeiro 00f09172c3 Fix cfulist_delete_data bugs
1. This function was not updating the list size
2. The first item was not being properly removed
3. Renamed some variables in order to make them more meaningful
2018-06-08 09:46:54 +01:00
Diogo Cordeiro 5af4f108dc cfulist_delete_data now works for the first item
This function would crash for the first item.
Now it calls cfulist_dequeue to remove the first element when necessary.
2018-06-07 22:48:07 +01:00
Diogo Cordeiro b4faaca915 Add cfulist_delete_data
It is important to let the programmer remove a node from the linked list, as it is a very common operation.
2018-05-22 16:16:15 +01:00
Matthew Brush 838479689d Fixup a few stricter warnings 2013-03-04 20:41:46 -08:00
Matthew Brush 9926984543 Remove redundant use of extern storage class specifier 2013-03-04 20:10:32 -08:00
Matthew Brush b1db0ad1ee Properly declare parameterless functions as such
Also use void in the definitions for consistency.
2013-03-04 19:56:12 -08:00
Matthew Brush d35b0f5b20 Remove a bunch of superfluous casts
They just ugly up the code and could potentially hide errors.

The only problem it might cause is if using C++ compiler and,
well, don't do that. This is C code, use the right compiler :)
2013-03-04 17:59:44 -08:00
Matthew Brush a054a4de71 Make C89 compatible using some preprocessor trickery
Also using C99-snprintf file from:
  http://www.jhweiss.de/software/snprintf.html

For when in strict C89 compiler mode or when snprintf() or vsnprintf()
aren't for whatever reason available.

Use CFU_INLINE macro defined in cfu.h to make a decent attempt at
getting inline function support when in C89 mode.
2013-03-04 17:37:24 -08:00
Matthew Brush 01d2b274b7 Reformat and normalize licenses and headerss
This commit is purely aestetic/taste, nothing important.

I don't really like this *huge* license at the top of every file
but I guess it must stay so add it to some files where it wasn't
included so they are the same. Slightly reformat them.

Unindent extra indentation found in some headers.

Strip trailing whitespace in files and enabled setting in
editor, which caused a lot of noise in this commit but that should
be the end of it.

Remove the comment at the top of each file that said who created
it and when (it will remain in VCS history for reference and was
always Don who created the files).
2013-03-04 15:48:27 -08:00
Matthew Brush dd8b293d22 Fixup header inclusion and C++ guards a bit
* Now headers only include headers they use (at least std headers).
* Remove CFU_DEBUG stuff since NDEBUG automatically controls assert()
* Make use of CFU_BEGIN_DECLS and CFU_END_DECLS macros from cfu.h.
2013-03-04 03:18:47 -08:00
Matthew Brush ec404e96a9 Make POSIX threads library optional
Guard out use of pthreads in hash and list and don't build the
thread queue when pthreads is not available.
2013-03-04 03:04:27 -08:00
Matthew Brush f660e3460a Initial commit
All of the files from the tarball downloaded from SourceForge are
being checked in so there's a record of the changes made compared
to it (since I can't find the libcfu source repository). The
generated files will be removed in the following commit.
2013-03-04 01:40:58 -08:00