1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ccan
normal e7f6d9e25a ccan/container_of: add container_of_or_null
* ccan/container_of/container_of.h (container_of_or_null): added
  [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson)

It's quite common to have a pointer which could be either a pointer to a
structure member, or NULL.  This needs special casing with container_of(),
or it will convert NULL into something strange.

This patch adds container_of_or_null(), which will return NULL if passed
(an appropriately typed) NULL, or the containining structure as
container_of() otherwise.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13 23:49:28 +00:00
..
build_assert vm*: doubly-linked list from ccan to manage vm->living_threads 2014-05-10 23:48:51 +00:00
check_type vm*: doubly-linked list from ccan to manage vm->living_threads 2014-05-10 23:48:51 +00:00
container_of ccan/container_of: add container_of_or_null 2014-09-13 23:49:28 +00:00
licenses vm*: doubly-linked list from ccan to manage vm->living_threads 2014-05-10 23:48:51 +00:00
list ccan/list: new list_{del,node}_init functions 2014-09-13 23:49:15 +00:00
str vm*: doubly-linked list from ccan to manage vm->living_threads 2014-05-10 23:48:51 +00:00