This test ends up duplicated, which is Bad (it's a strcmp test, not a simple scalar test).
The prior code did a sensible thing, testing strcmp()s once to set found; it could sensibly then have skipped the repeated strcmp() test inside the if (found) block, but it's better to have two checks of found (a boolean, cacheing the result of the strcmp()s) than to repeat a strcmp() || strcmp() test.
Then again, I don't know why we strlcpy() rp into a fixed size buffer s, when we could just use a local variable aliasing rp's valu, reducing the loop body to:
```
const char *host = RlistScalarValue(rp);
if (EmptyString(host)) { continue; }
assert(!found); /* we'd have broken out of the loop by now if it were true */
found = strcmp(s, VFQNAME) == 0 || strcmp(s, VUQNAME) == 0);
if (i % groupsize == 0) { strlcpy(buffer, found ? "localhost" : host); }
if (found) { break; }
i++;
```