Configuring mode on more than two connectors or two planes is perfectly
valid. Support it.

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 tests/modetest/modetest.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
index bf5ca54..39f4d59 100644
--- a/tests/modetest/modetest.c
+++ b/tests/modetest/modetest.c
@@ -1067,8 +1067,8 @@ int main(int argc, char **argv)
        char *module = NULL;
        unsigned int i;
        int count = 0, plane_count = 0;
-       struct connector_arg con_args[2];
-       struct plane_arg plane_args[2] = { { 0, }, };
+       struct connector_arg *con_args = NULL;
+       struct plane_arg *plane_args = NULL;
        
        opterr = 0;
        while ((c = getopt(argc, argv, optstr)) != -1) {
@@ -1092,8 +1092,16 @@ int main(int argc, char **argv)
                        modes = 1;
                        break;
                case 'P':
+                       plane_args = realloc(plane_args,
+                                            (plane_count + 1) * sizeof 
*plane_args);
+                       if (plane_args == NULL) {
+                               fprintf(stderr, "memory allocation failed\n");
+                               return 1;
+                       }
+
                        if (parse_plane(&plane_args[plane_count], optarg) < 0)
                                usage(argv[0]);
+
                        plane_count++;
                        break;
                case 'p':
@@ -1101,8 +1109,16 @@ int main(int argc, char **argv)
                        planes = 1;
                        break;
                case 's':
+                       con_args = realloc(con_args,
+                                          (count + 1) * sizeof *con_args);
+                       if (con_args == NULL) {
+                               fprintf(stderr, "memory allocation failed\n");
+                               return 1;
+                       }
+
                        if (parse_connector(&con_args[count], optarg) < 0)
                                usage(argv[0]);
+
                        count++;                                      
                        break;
                case 'v':
-- 
1.8.1.5

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to