mirror of
https://github.com/qpdf/qpdf.git
synced 2024-06-22 03:54:41 +00:00
Tidy QPDFAcroFormDocumentHelper::addAndRenameFormFields
This commit is contained in:
parent
55abecc42d
commit
e7e24fe070
|
@ -68,18 +68,12 @@ QPDFAcroFormDocumentHelper::addAndRenameFormFields(
|
|||
{
|
||||
analyze();
|
||||
std::map<std::string, std::string> renames;
|
||||
std::list<QPDFObjectHandle> queue;
|
||||
queue.insert(queue.begin(), fields.begin(), fields.end());
|
||||
std::set<QPDFObjGen> seen;
|
||||
while (!queue.empty()) {
|
||||
QPDFObjectHandle obj = queue.front();
|
||||
queue.pop_front();
|
||||
auto og = obj.getObjGen();
|
||||
if (seen.count(og)) {
|
||||
// loop
|
||||
continue;
|
||||
}
|
||||
seen.insert(og);
|
||||
QPDFObjGen::set seen;
|
||||
for (std::list<QPDFObjectHandle> queue{fields.begin(), fields.end()};
|
||||
!queue.empty();
|
||||
queue.pop_front()) {
|
||||
auto& obj = queue.front();
|
||||
if (seen.add(obj)) {
|
||||
auto kids = obj.getKey("/Kids");
|
||||
if (kids.isArray()) {
|
||||
for (auto kid: kids.aitems()) {
|
||||
|
@ -118,6 +112,7 @@ QPDFAcroFormDocumentHelper::addAndRenameFormFields(
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (auto i: fields) {
|
||||
addFormField(i);
|
||||
|
|
Loading…
Reference in New Issue
Block a user