Follow-up Comment #3, bug #59973 (project groff):
Your "while" (non)loop expressed in pseudocode is:
while (1) {
if (A)
if (B)
break;
error(...);
break;
}
Neither "if" having an "else," this should be equivalent to:
while (1) {
if (A && B)
break;
error(...);
break;
}
This further seems to be equivalent to the lower-level pseudocode:
if (A && B)
goto NEXT;
error(...)
goto NEXT;
NEXT:
which basically reduces to:
if !(A && B)
error(...)
I confess I'm no C++ coder, so I could be overlooking any number of
language-specific gotchas. And I don't know what you mean by "complicating
the boolean conditional afterward," the thing you were trying to avoid. But
naively tracing the code path, I don't understand the need for the "while" at
all.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?59973>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/