+ case 'm': {
+ char *ptr = strchr(optarg, ',');
+ if (ptr == nullptr) {
+ fprintf(stderr, "ERROR: Invalid argument '%s' to --map-signal (needs a signal and a card number, separated by comma)\n", optarg);
+ exit(1);
+ }
+ *ptr = '\0';
+ const int signal_num = atoi(optarg);
+ const int card_num = atoi(ptr + 1);
+ if (global_flags.default_stream_mapping.count(signal_num)) {
+ fprintf(stderr, "ERROR: Signal %d already mapped to card %d\n",
+ signal_num, global_flags.default_stream_mapping[signal_num]);
+ exit(1);
+ }
+ global_flags.default_stream_mapping[signal_num] = card_num;
+ break;
+ }