[PATCH] libosmocore[master]: linuxlist.h: add llist_len()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Thu Jan 19 16:09:43 UTC 2017


Hello Max, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/1563

to look at the new patch set (#4).

linuxlist.h: add llist_len()

After subchan_demux.c in libosmo-abis, osmo-bts/common/vty.c and openbsc's
gtphub_test.c, more places would like to count the llist items (mostly unit
tests). Instead of proliferating numerous local implementations, add here.

NOTE: other than the previous llist_len() implementations, this one returns an
*unsigned* length, which might need some adjusting of current callers.

Before merging this, make sure the name llist_head() is not redefined, see:
libosmo-abis Change-Id I99c627cf2a2f0dca1ec5d2ad36e3c3f7f0d8d191
openbsc Change-Id I9a7e438de4539c382de54b7337fd18e4bf19d007

Change-Id: Ic49adc7a346f5722bf624d7d3b4a735e4220ae15
---
M include/osmocom/core/linuxlist.h
1 file changed, 9 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/63/1563/4

diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h
index 1c83395..6c99d64 100644
--- a/include/osmocom/core/linuxlist.h
+++ b/include/osmocom/core/linuxlist.h
@@ -351,6 +351,15 @@
 	for ((pos) = (pos)->next, prefetch((pos)->next); (pos) != (head); \
         	(pos) = (pos)->next, ({ smp_read_barrier_depends(); 0;}), prefetch((pos)->next))
 
+static inline unsigned int llist_len(struct llist_head *head)
+{
+	struct llist_head *entry;
+	unsigned int i = 0;
+	llist_for_each(entry, head)
+		i++;
+	return i;
+}
+
 /*!
  *  }@
  */

-- 
To view, visit https://gerrit.osmocom.org/1563
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic49adc7a346f5722bf624d7d3b4a735e4220ae15
Gerrit-PatchSet: 4
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list