Simplify GetTransparentParent().
Rewrite the loop within to be more straight-forward.
Change-Id: Ie5e7254cade9915c452343d1a324cf8c2aa3fb4b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/52371
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/xfa/fxfa/parser/cxfa_nodehelper.cpp b/xfa/fxfa/parser/cxfa_nodehelper.cpp
index c9aba3d..8f72acf 100644
--- a/xfa/fxfa/parser/cxfa_nodehelper.cpp
+++ b/xfa/fxfa/parser/cxfa_nodehelper.cpp
@@ -152,21 +152,16 @@
}
CXFA_Node* GetTransparentParent(CXFA_Node* pNode) {
- CXFA_Node* parent;
- CXFA_Node* node = pNode;
- while (true) {
- parent = node ? node->GetParent() : nullptr;
- if (!parent)
- return nullptr;
-
- XFA_Element parentType = parent->GetElementType();
- if ((!parent->IsUnnamed() && parentType != XFA_Element::SubformSet) ||
- parentType == XFA_Element::Variables) {
- break;
+ CXFA_Node* parent = pNode ? pNode->GetParent() : nullptr;
+ while (parent) {
+ XFA_Element type = parent->GetElementType();
+ if (type == XFA_Element::Variables ||
+ (type != XFA_Element::SubformSet && !parent->IsUnnamed())) {
+ return parent;
}
- node = parent;
+ parent = parent->GetParent();
}
- return parent;
+ return nullptr;
}
} // namespace