#! /bin/sh /usr/share/dpatch/dpatch-run ## 31_usage.dpatch by <gaudenz@debian.org> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: print usage message to stderr for wrong arguments --- mouseemu/mouseemu.c 2005-03-30 08:40:30.000000000 +0200 +++ mouseemu-0.15/mouseemu.c 2005-04-21 01:38:19.181189725 +0200 @@ -517,6 +517,26 @@ } +/* print usage message to stdout/stderr */ +void usage(FILE *stream, char *argv[]) { + fprintf(stream, "usage: %s \n" + "\t[-middle B2_MOD B2_KEY]\n" + "\t[-right B3_MOD B3_KEY]\n" + "\t[-scroll SCROLL_MOD]\n" + "\t[-typing-block DELAY]\n" + "\t[-device UINPUT_DEVICE]\n" + "\t[-nofork]\n", + argv[0]); + fprintf(stream, "All modifier and button key arguments are\n" + "key scancodes. They can be found in \n" + "/usr/src/linux/include/linux/input.h,\n" + "or by using `showkey` in a console.\n" + "Use decimal values. BTN_LEFT(272) is usable as " + "B2_KEY or B3_KEY.\n\n"); + fprintf(stream, "Default uinput device: " DEFAULT_UINPUT ".\n"); + + exit(0); +} int main(int argc, char *argv[]) { @@ -535,72 +560,59 @@ if (argc > 1) { int i = 0; if (!strcmp(argv[1],"-help")) { -err: - printf("usage: %s \n" - "\t[-middle B2_MOD B2_KEY]\n" - "\t[-right B3_MOD B3_KEY]\n" - "\t[-scroll SCROLL_MOD]\n" - "\t[-typing-block DELAY]\n" - "\t[-device UINPUT_DEVICE]\n" - "\t[-nofork]\n", - argv[0]); - printf("Key codes can be found in " - "/usr/src/linux/include/linux/input.h,\n" - "or by using `showkey` in console.\n" - "Use decimal values. BTN_LEFT(272) is usable as " - "B2_KEY or B3_KEY.\n\n"); - printf("Default uinput device: " DEFAULT_UINPUT ".\n"); - printf("Default keys:\n" - "\tMiddle click : F10 (0 68)\n" - "\tRight click : F11 (0 87)\n" - "\tScroll mod. : Alt (56)\n" - "\tDefault blocking time while typing: 300ms\n"); - - exit(0); + usage(stdout, argv); } else { - for (i = 1; i < argc; i++) { - int j = i+1; + i = 1; + while (i < argc) { if (!strcmp(argv[i], "-middle")) { - if (argc > j+1) { - b2_mod = atoi(argv[j]); - b2_key = atoi(argv[j+1]); + if (argc > i+2) { + b2_mod = atoi(argv[i+1]); + b2_key = atoi(argv[i+2]); + i += 3; } else - goto err; + usage(stderr, argv); continue; } - if (!strcmp(argv[i], "-right")) { - if (argc > j+1) { - b3_mod = atoi(argv[j]); - b3_key = atoi(argv[j+1]); + else if (!strcmp(argv[i], "-right")) { + if (argc > i+2) { + b3_mod = atoi(argv[i+1]); + b3_key = atoi(argv[i+2]); + i += 3; } else - goto err; + usage(stderr, argv); continue; } - if (!strcmp(argv[i], "-scroll")) { - if (argc > j) { - scroll_mod = atoi(argv[j]); + else if (!strcmp(argv[i], "-scroll")) { + if (argc > i+1) { + scroll_mod = atoi(argv[i+1]); + i += 2; } else - goto err; + usage(stderr, argv); continue; } - if (!strcmp(argv[i], "-typing-block")) { - if (argc > j) { - typing_block_delay = atoi(argv[j]); + else if (!strcmp(argv[i], "-typing-block")) { + if (argc > i+1) { + typing_block_delay = atoi(argv[i+1]); + i += 2; } else - goto err; + usage(stderr, argv); continue; } - if (!strcmp(argv[i], "-device")) { - if (argc > j) { - uinputdev = argv[j]; + else if (!strcmp(argv[i], "-device")) { + if (argc > i+1) { + uinputdev = argv[i+1]; + i += 2; } else - goto err; + usage(stderr, argv); continue; } - if (!strcmp(argv[i], "-nofork")) { + else if (!strcmp(argv[i], "-nofork")) { nofork=1; + i += 1; continue; - } + } else { + usage(stderr, argv); + } } } }