]> diplodocus.org Git - xorg-xinput/commitdiff
Support GNU style options the dodgy way.
authorPeter Hutterer <peter@cs.unisa.edu.au>
Thu, 20 Dec 2007 01:15:11 +0000 (11:45 +1030)
committerPeter Hutterer <peter@cs.unisa.edu.au>
Thu, 20 Dec 2007 01:15:11 +0000 (11:45 +1030)
Simply removing all preceding "-" from the function name before running the
usual comparison.

src/xinput.c

index 5010923a1bd41dbad340e576deb50d942501ecff..8275d1896cfb8b1c5ed22819e7c153458863a6a0 100644 (file)
@@ -156,6 +156,7 @@ main(int argc, char * argv[])
 {
     Display    *display;
     entry      *driver = drivers;
 {
     Display    *display;
     entry      *driver = drivers;
+    char        *func;
     
     if (argc < 2) {
        usage();
     
     if (argc < 2) {
        usage();
@@ -169,13 +170,16 @@ main(int argc, char * argv[])
        return EXIT_FAILURE;
     }
 
        return EXIT_FAILURE;
     }
 
+    func = argv[1];
+    while((*func) == '-') func++;
+
     if (!is_xinput_present(display)) {
        fprintf(stderr, "%s extension not available\n", INAME);
        return EXIT_FAILURE;
     }
     
     while(driver->func_name) {
     if (!is_xinput_present(display)) {
        fprintf(stderr, "%s extension not available\n", INAME);
        return EXIT_FAILURE;
     }
     
     while(driver->func_name) {
-       if (strcmp(driver->func_name, argv[1]) == 0) {
+       if (strcmp(driver->func_name, func) == 0) {
            int r = (*driver->func)(display, argc-2, argv+2,
                                    driver->func_name, driver->arg_desc);
            XFlush(display);
            int r = (*driver->func)(display, argc-2, argv+2,
                                    driver->func_name, driver->arg_desc);
            XFlush(display);