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 15:27:38 +0000 (16:27 +0100)
commitf5c9f0e9ee1729b1260cef3e51ca91936e1868c4
treeff965f02a3a3ffea1b9b37fcc22cefbd28e53bd4
parenta1df33eac2c0a0a4fbb256871e491e28dd11ce90
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.
src/match.c