summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2010-06-10 06:11:10 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2010-06-11 09:30:07 +1000
commit645679c1523eee7028f3244cee57936b93326a2a (patch)
tree60f11e77c5ba92189012f7f7aba814cf042c1012 /dix
parentd1b4beecbc16448282dcc825dd5c354e96e48eca (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')
-rw-r--r--dix/inpututils.c3
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)