diff options
author | Dan Nicholson <dbn.lists@gmail.com> | 2010-06-10 06:11:10 -0700 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2010-06-11 09:30:07 +1000 |
commit | 645679c1523eee7028f3244cee57936b93326a2a (patch) | |
tree | 60f11e77c5ba92189012f7f7aba814cf042c1012 /dix/inpututils.c | |
parent | d1b4beecbc16448282dcc825dd5c354e96e48eca (diff) |
xfree86: Match devices based on PnP ID
Serial input devices lack properties such as product or vendor name. This
makes matching InputClass sections difficult. Add a MatchPnPID entry to
test against the PnP ID of the device. The entry supports a shell pattern
match on platforms that support fnmatch(3). For example:
MatchPnPID "WACf*"
A match type for non-path pattern matching, match_pattern, has been added.
The difference between this and match_path_pattern is the FNM_PATHNAME
flag in fnmatch(3).
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix/inpututils.c')
-rw-r--r-- | dix/inpututils.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/dix/inpututils.c b/dix/inpututils.c index df2ace0bb..aa240dd74 100644 --- a/dix/inpututils.c +++ b/dix/inpututils.c @@ -357,6 +357,8 @@ DuplicateInputAttributes(InputAttributes *attrs) goto unwind; if (attrs->device && !(new_attr->device = strdup(attrs->device))) goto unwind; + if (attrs->pnp_id && !(new_attr->pnp_id = strdup(attrs->pnp_id))) + goto unwind; new_attr->flags = attrs->flags; @@ -401,6 +403,7 @@ FreeInputAttributes(InputAttributes *attrs) free(attrs->product); free(attrs->vendor); free(attrs->device); + free(attrs->pnp_id); if ((tags = attrs->tags)) while(*tags) |