This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-utils.git tree:

Subject: v4l2-compliance: make bus_info tests more precise.
Author:  Hans Verkuil <[email protected]>
Date:    Fri Sep 7 17:52:13 2012 +0200

An empty bus_info will now fail, and the bus_info must be formatted according
to specific rules.

Signed-off-by: Hans Verkuil <[email protected]>
(cherry picked from commit e50bae72cb3ad0220d5b47d004eb32e83558d7e1)

Signed-off-by: Gregor Jasny <[email protected]>

 utils/v4l2-compliance/v4l2-compliance.cpp |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

---

http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=acbecdb8ca742d94eb4a45a58f47446cdba23034

diff --git a/utils/v4l2-compliance/v4l2-compliance.cpp 
b/utils/v4l2-compliance/v4l2-compliance.cpp
index db5b3f8..8320b35 100644
--- a/utils/v4l2-compliance/v4l2-compliance.cpp
+++ b/utils/v4l2-compliance/v4l2-compliance.cpp
@@ -270,9 +270,20 @@ static int testCap(struct node *node)
        fail_on_test(doioctl(node, VIDIOC_QUERYCAP, &vcap));
        fail_on_test(check_ustring(vcap.driver, sizeof(vcap.driver)));
        fail_on_test(check_ustring(vcap.card, sizeof(vcap.card)));
-       if (check_ustring(vcap.bus_info, sizeof(vcap.bus_info))) {
-               fail_on_test(vcap.bus_info[0]);
-               warn("VIDIOC_QUERYCAP: empty bus_info\n");
+       fail_on_test(check_ustring(vcap.bus_info, sizeof(vcap.bus_info)));
+       // Check for valid prefixes
+       if (memcmp(vcap.bus_info, "usb-", 4) &&
+           memcmp(vcap.bus_info, "PCI:", 4) &&
+           memcmp(vcap.bus_info, "PCIe:", 5) &&
+           memcmp(vcap.bus_info, "ISA:", 4) &&
+           memcmp(vcap.bus_info, "I2C:", 4) &&
+           memcmp(vcap.bus_info, "parport", 7) &&
+           strcmp((const char *)vcap.bus_info, (const char *)vcap.driver)) {
+               unsigned len = strlen((const char *)vcap.driver);
+
+               // fail if the prefix isn't the driver name followed by a dash
+               fail_on_test(memcmp(vcap.bus_info, vcap.driver, len));
+               fail_on_test(vcap.bus_info[len] != '-');
        }
        fail_on_test((vcap.version >> 16) < 3);
        fail_on_test(check_0(vcap.reserved, sizeof(vcap.reserved)));

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to