- if (cpp->index >= psi_plist_count(cpp->tokens)) {
- cpp->index = MAX(0, psi_plist_count(cpp->tokens)-1);
+ size_t count = psi_plist_count(cpp->tokens);
+
+ if (cpp->index >= count) {
+ if (count > 0) {
+ cpp->index = count - 1;
+ } else {
+ cpp->index = 0;
+ }