No further matches are displayed as `np` becomes NULL.
So to be sure I could add a second loop around this like `for (j = 0; j < 2; j++)`. Below the while loop, `np` is checked again. If it's not set, it searches from `vars->regions->head` again through all regions. Could look like this: `if (np) break; else np = vars->regions->head;`