]> granicus.if.org Git - gc/commit
Eliminate 'comparison is always false' static analyzer warning in finalize
authorIvan Maidanski <ivmai@mail.ru>
Wed, 28 Sep 2016 07:04:39 +0000 (10:04 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 1 Nov 2016 21:38:42 +0000 (00:38 +0300)
commit55dacbb3f475f83024167556e2b54f6d3575cf9e
treea39e1fba8ab9fd21809464e993e3cd2cccbec1fb
parent3263dad97759ffcf4f9942ca639951a7be33964d
Eliminate 'comparison is always false' static analyzer warning in finalize

GC_enqueue_all_finalizers code refactoring is done (removal of the
unreachable statement) to eliminate the warning.

* finalize.c (GC_enqueue_all_finalizers): Remove "prev_fo" local
variable; remove "register" keyword for local variables;
remove the pointer to the chain of hash table entries from the roots
(i.e. setting the roots pointer to null) at the beginning of processing
the chain (instead of updating the roots pointer on deletion of each
entry and finally setting it to null); remove fo_set_next(prev_fo) as
it is never called (because prev_fo was always null); update
GC_fo_entries only when the whole table processed (i.e. all items
removed).
finalize.c