tfmini: add argc check and fix argv index

This commit is contained in:
Beat Küng 2018-06-04 14:28:30 +02:00 committed by Lorenz Meier
parent eabfac71d6
commit 7a3b34be74

View File

@ -922,31 +922,32 @@ usage()
int
tfmini_main(int argc, char *argv[])
{
// check for optional arguments
int ch;
uint8_t rotation = distance_sensor_s::ROTATION_DOWNWARD_FACING;
const char *device_path = "";
int myoptind = 1;
const char *myoptarg = nullptr;
while ((ch = px4_getopt(argc, argv, "R:d:", &myoptind, &myoptarg)) != EOF) {
switch (ch) {
case 'R':
rotation = (uint8_t)atoi(myoptarg);
PX4_INFO("Setting distance sensor orientation to %d", (int)rotation);
break;
case 'd':
device_path = myoptarg;
PX4_INFO("Using device path '%s'", device_path);
break;
default:
PX4_WARN("Unknown option!");
return -1;
}
}
if (myoptind >= argc) {
goto out_error;
}
/*
* Start/load the driver.
*/
@ -957,7 +958,7 @@ tfmini_main(int argc, char *argv[])
} else {
PX4_WARN("Please specify device path!");
tfmini::usage();
return PX4_ERROR;
return -1;
}
}
@ -985,10 +986,11 @@ tfmini_main(int argc, char *argv[])
/*
* Print driver information.
*/
if (!strcmp(argv[myoptind], "info") || !strcmp(argv[1], "status")) {
if (!strcmp(argv[myoptind], "info") || !strcmp(argv[myoptind], "status")) {
tfmini::info();
}
out_error:
PX4_ERR("unrecognized command, try 'start', 'test', 'reset' or 'info'");
return PX4_ERROR;
return -1;
}