Eric Blake
ddcfc5492a
alloc: make VIR_APPEND_ELEMENT safer
...
VIR_APPEND_ELEMENT(array, size, elem) was not safe if the expression
for 'size' had side effects. While no one in the current code base
was trying to pass side effects, we might as well be robust and
explicitly document our intentions.
* src/util/viralloc.c (virInsertElementsN): Add special case.
* src/util/viralloc.h (VIR_APPEND_ELEMENT): Use it.
(VIR_ALLOC, VIR_ALLOC_N, VIR_REALLOC_N, VIR_EXPAND_N)
(VIR_RESIZE_N, VIR_SHRINK_N, VIR_INSERT_ELEMENT)
(VIR_DELETE_ELEMENT, VIR_ALLOC_VAR, VIR_FREE): Document
which macros are safe in the presence of side effects.
* docs/hacking.html.in: Document this.
* HACKING: Regenerate.
Signed-off-by: Eric Blake <eblake@redhat.com>
2013-05-07 13:21:31 -06:00
..
2012-02-01 16:28:17 -07:00
2012-02-03 15:27:16 -07:00
2012-02-03 15:27:16 -07:00
2013-05-03 15:56:15 +01:00
2013-04-25 21:23:38 -04:00
2006-01-23 22:55:41 +00:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-04-24 10:59:53 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2011-10-28 10:11:16 +01:00
2005-12-21 16:59:34 +00:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 16:58:46 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2008-04-28 08:29:35 +00:00
2013-05-03 15:56:15 +01:00
2008-04-23 17:08:31 +00:00
2008-04-23 17:08:31 +00:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-01-18 15:36:38 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-07 13:21:31 -06:00
2013-05-03 15:56:15 +01:00
2013-05-07 11:19:04 +01:00
2013-05-03 15:56:15 +01:00
2013-02-07 19:52:44 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2009-07-16 15:06:42 +02:00
2011-10-28 10:11:16 +01:00
2012-07-23 16:07:13 -06:00
2011-10-28 10:11:16 +01:00
2012-07-23 16:07:13 -06:00
2008-04-23 17:08:31 +00:00
2008-04-23 17:08:31 +00:00
2011-10-28 10:11:16 +01:00
2012-07-23 16:07:13 -06:00
2011-10-28 10:11:16 +01:00
2012-07-23 16:07:13 -06:00
2011-10-28 10:11:16 +01:00
2012-07-23 16:07:13 -06:00
2013-03-04 17:36:03 -05:00
2013-03-04 17:36:03 -05:00
2013-02-01 08:47:38 +01:00
2012-06-18 20:10:29 +01:00
2006-02-09 17:45:11 +00:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2006-02-09 17:45:11 +00:00
2008-04-23 17:08:31 +00:00
2013-05-07 15:45:50 +01:00
2011-10-28 10:11:16 +01:00
2011-10-28 10:07:45 +01:00
2011-10-28 10:11:16 +01:00
2011-10-28 10:07:45 +01:00
2011-10-28 10:11:16 +01:00
2011-10-28 10:07:45 +01:00
2011-10-28 10:11:16 +01:00
2011-10-28 10:07:45 +01:00
2011-10-28 10:11:16 +01:00
2011-10-28 10:07:45 +01:00
2013-05-03 15:56:15 +01:00
2013-05-07 11:19:04 +01:00
2013-05-03 15:56:15 +01:00
2009-07-29 09:04:21 +01:00
2011-10-28 10:11:16 +01:00
2006-01-23 13:24:07 +00:00
2013-05-03 20:57:24 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2012-08-10 10:58:38 +02:00
2012-08-10 10:58:38 +02:00
2013-05-03 16:58:46 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2011-10-28 10:11:16 +01:00
2010-12-02 16:00:47 -07:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2010-10-12 11:26:52 +01:00
2013-05-07 11:19:04 +01:00
2013-05-03 15:56:15 +01:00
2013-05-03 15:56:15 +01:00
2013-05-07 15:29:37 +01:00
2010-11-12 19:47:20 +01:00