inspect: Don't assume number of captures in match functions
authorMatthew Booth <mbooth@redhat.com>
Tue, 18 Oct 2011 12:30:40 +0000 (13:30 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 19 Oct 2011 17:37:15 +0000 (18:37 +0100)
commitccdb28b761bbb37ff4f4f26dae494e5ea01562c5
tree7d8452e3a0e55562e0d50ecd149c5031b88d2857
parent76d879e913003c4472a7237a6b2a86d31edafdb7
inspect: Don't assume number of captures in match functions

It is possible for the pcre library to return a variable number of captures for
a single regular expression. e.g.:

  ^/dev/(cciss/c\d+d\d+)(?:p(\d+))?$

This will return either 1 or 2 captures depending on whether the device has a
partition suffix. The current match wrappers don't allow for this, and require
that a predictable number of matches are returned.

This change updates match, match1, match2, and match3 to ignore the specific
number of matches returned. Instead, any returned captures are assigned to the
given arguments, and any remaining arguments are set to NULL.
(cherry picked from commit f5c9f0e9ee1729b1260cef3e51ca91936e1868c4)
src/match.c