test/rmlvo-to-keymap.c: fix compilation on Darwin (#101) program_invocation_short_name isn't portable.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
diff --git a/test/rmlvo-to-keymap.c b/test/rmlvo-to-keymap.c
index ed48e49..89f71a0 100644
--- a/test/rmlvo-to-keymap.c
+++ b/test/rmlvo-to-keymap.c
@@ -28,15 +28,16 @@
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
+#include <string.h>
#include "xkbcommon/xkbcommon.h"
static bool print = false;
static void
-usage(void)
+usage(char **argv)
{
printf("Usage: %s [--print] [--rules <rules>] [--layout <layout>] [--variant <variant>] [--options <option>]\n",
- program_invocation_short_name);
+ basename(argv[0]));
printf("This tool tests the compilation from RMLVO to a keymap.\n");
printf("--print print the resulting keymap\n");
}
@@ -72,7 +73,7 @@ parse_options(int argc, char **argv, struct xkb_rule_names *names)
switch (c) {
case 'h':
- usage();
+ usage(argv);
exit(0);
case OPT_PRINT:
print = true;
@@ -93,7 +94,7 @@ parse_options(int argc, char **argv, struct xkb_rule_names *names)
names->options = optarg;
break;
default:
- usage();
+ usage(argv);
exit(1);
}
@@ -117,7 +118,7 @@ main(int argc, char **argv)
int rc;
if (argc <= 1) {
- usage();
+ usage(argv);
return 1;
}