If there is a fLink but no parentLink for the DirEntry being
removed, return the fLink as the new value for *RootNode.
This patch set also includes two changes that improve readability
but do not alter the behavior.
Change-Id: I112265798df9d46c83ffacddc7d97ad0f6fce5bf
Reviewed-on: http://gerrit.openafs.org/5638
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Peter Scott <pscott.kd@gmail.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
try_return( ntStatus);
}
- else if( DirEntry->CaseInsensitiveList.fLink != NULL)
+
+ if( DirEntry->CaseInsensitiveList.fLink != NULL)
{
//
pParentNode->CaseInsensitiveTreeEntry.leftLink = (void *)pNewHeadEntry;
}
}
+ else
+ {
+ *RootNode = pNewHeadEntry;
+ }
if( pRightNode != NULL)
{
pNewHeadEntry->CaseInsensitiveTreeEntry.rightLink = pRightNode;
- SetFlag( ((AFSDirectoryCB *)DirEntry->CaseInsensitiveList.fLink)->Flags, AFS_DIR_ENTRY_CASE_INSENSTIVE_LIST_HEAD);
+ SetFlag( pNewHeadEntry->Flags, AFS_DIR_ENTRY_CASE_INSENSTIVE_LIST_HEAD);
try_return( ntStatus);
}