[前][次][番号順一覧][スレッド一覧]

ruby-changes:50034

From: normal <ko1@a...>
Date: Thu, 1 Feb 2018 17:59:33 +0900 (JST)
Subject: [ruby-changes:50034] normal:r62152 (trunk): ccan/list: sync with upstream

normal	2018-02-01 17:59:27 +0900 (Thu, 01 Feb 2018)

  New Revision: 62152

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=62152

  Log:
    ccan/list: sync with upstream
    
    This brings us up-to-date with ccan/list
    5dbd87b876434dd703dfcc30cb0503118aac2076
    git://git.ozlabs.org/~ccan/ccan
    
    This is a combination of 3 commits from ccan:
    
        list: add parens to gaurd macro args in LIST_INIT
        ccan/list: Add list_empty_nocheck
        list: trivial: fix typos in list_for_each_off's documentation

  Modified files:
    trunk/ccan/list/list.h
Index: ccan/list/list.h
===================================================================
--- ccan/list/list.h	(revision 62151)
+++ ccan/list/list.h	(revision 62152)
@@ -57,7 +57,7 @@ struct list_head https://github.com/ruby/ruby/blob/trunk/ccan/list/list.h#L57
  * Example:
  *	static struct list_head my_list = LIST_HEAD_INIT(my_list);
  */
-#define LIST_HEAD_INIT(name) { { &name.n, &name.n } }
+#define LIST_HEAD_INIT(name) { { &(name).n, &(name).n } }
 
 /**
  * LIST_HEAD - define and initialize an empty list_head
@@ -238,6 +238,21 @@ static inline int list_empty_nodebug(con https://github.com/ruby/ruby/blob/trunk/ccan/list/list.h#L238
 #endif
 
 /**
+ * list_empty_nocheck - is a list empty?
+ * @h: the list_head
+ *
+ * If the list is empty, returns true. This doesn't perform any
+ * debug check for list consistency, so it can be called without
+ * locks, racing with the list being modified. This is ok for
+ * checks where an incorrect result is not an issue (optimized
+ * bail out path for example).
+ */
+static inline bool list_empty_nocheck(const struct list_head *h)
+{
+	return h->n.next == &h->n;
+}
+
+/**
  * list_del - delete an entry from an (unknown) linked list.
  * @n: the list_node to delete from the list.
  *
@@ -647,12 +662,12 @@ static inline void list_prepend_list_(st https://github.com/ruby/ruby/blob/trunk/ccan/list/list.h#L662
  * so you can break and continue as normal.
  *
  * WARNING! Being the low-level macro that it is, this wrapper doesn't know
- * nor care about the type of @i. The only assumtion made is that @i points
+ * nor care about the type of @i. The only assumption made is that @i points
  * to a chunk of memory that at some @offset, relative to @i, contains a
- * properly filled `struct node_list' which in turn contains pointers to
- * memory chunks and it's turtles all the way down. Whith all that in mind
+ * properly filled `struct list_node' which in turn contains pointers to
+ * memory chunks and it's turtles all the way down. With all that in mind
  * remember that given the wrong pointer/offset couple this macro will
- * happilly churn all you memory untill SEGFAULT stops it, in other words
+ * happily churn all you memory until SEGFAULT stops it, in other words
  * caveat emptor.
  *
  * It is worth mentioning that one of legitimate use-cases for that wrapper

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]