diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | URPM.xs | 9 |
2 files changed, 7 insertions, 3 deletions
@@ -1,4 +1,5 @@ - add a missing PUTBACK in traverse_tag_find() +- handle non numeric returns for traverse_tag_find callback (warning fix) Version 5.02 - 26 October 2014 @@ -2447,11 +2447,14 @@ Db_traverse_tag_find(db,tag,name,callback) int count = _run_cb_while_traversing(callback, header, 0); SPAGAIN; - if (count == 1 && POPi) { - found = 1; - break; + if (count == 1) { + SV* ret = POPs; + found = SvTRUE(ret); } PUTBACK; + if (found) { + break; + } } rpmtsSetVSFlags(db->ts, ovsflags); (void)rpmdbFreeIterator(mi); |