Nested if's are hard to understand to me.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Mon Jan 2 19:07:23 CET 2012 on sn-devel-104
*/
_PUBLIC_ int talloc_unlink(const void *context, void *ptr)
{
- struct talloc_chunk *tc_p, *new_p;
+ struct talloc_chunk *tc_p, *new_p, *tc_c;
void *new_parent;
if (ptr == NULL) {
return 0;
}
- if (context == NULL) {
- if (talloc_parent_chunk(ptr) != NULL) {
- return -1;
- }
+ if (context != NULL) {
+ tc_c = talloc_chunk_from_ptr(context);
} else {
- if (talloc_chunk_from_ptr(context) != talloc_parent_chunk(ptr)) {
- return -1;
- }
+ tc_c = NULL;
+ }
+ if (tc_c != talloc_parent_chunk(ptr)) {
+ return -1;
}
tc_p = talloc_chunk_from_ptr(ptr);