allow using "--knxurl" as well
This commit is contained in:
@@ -54,11 +54,11 @@ using std::dec;
|
|||||||
/** the definition of the KNX arguments. */
|
/** the definition of the KNX arguments. */
|
||||||
static const struct argp_option g_knx_argp_options[] = {
|
static const struct argp_option g_knx_argp_options[] = {
|
||||||
{nullptr, 0, nullptr, 0, "KNX options:", 1 },
|
{nullptr, 0, nullptr, 0, "KNX options:", 1 },
|
||||||
{"knxurl", O_URL, "URL", 0, "URL to open (i.e. \"[multicast][@interface]\" for KNXnet/IP"
|
{"knxurl", O_URL, "URL", OPTION_ARG_OPTIONAL, "URL to open (i.e. \"[multicast][@interface]\" for KNXnet/IP"
|
||||||
#ifdef HAVE_KNXD
|
#ifdef HAVE_KNXD
|
||||||
" or \"ip:host[:port]\" / \"local:/socketpath\" for knxd"
|
" or \"ip:host[:port]\" / \"local:/socketpath\" for knxd"
|
||||||
#endif
|
#endif
|
||||||
") []", 0 },
|
") (no default)", 0 },
|
||||||
{"knxrage", O_AGR, "SEC", 0, "Maximum age in seconds for using the last value of read messages (0=disable)"
|
{"knxrage", O_AGR, "SEC", 0, "Maximum age in seconds for using the last value of read messages (0=disable)"
|
||||||
" [5]", 0 },
|
" [5]", 0 },
|
||||||
{"knxwage", O_AGW, "SEC", 0, "Maximum age in seconds for using the last value for reads on write messages"
|
{"knxwage", O_AGW, "SEC", 0, "Maximum age in seconds for using the last value for reads on write messages"
|
||||||
@@ -70,6 +70,7 @@ static const struct argp_option g_knx_argp_options[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const char* g_url = nullptr; //!< URL of KNX daemon
|
static const char* g_url = nullptr; //!< URL of KNX daemon
|
||||||
|
const char* emptyUrl = "";
|
||||||
static unsigned int g_maxReadAge = 5; //!< max age in seconds for using the last value of read messages
|
static unsigned int g_maxReadAge = 5; //!< max age in seconds for using the last value of read messages
|
||||||
// max age in seconds for using the last value for reads on write messages
|
// max age in seconds for using the last value for reads on write messages
|
||||||
static unsigned int g_maxWriteAge = 99999999;
|
static unsigned int g_maxWriteAge = 99999999;
|
||||||
@@ -86,12 +87,9 @@ static error_t knx_parse_opt(int key, char *arg, struct argp_state *state) {
|
|||||||
result_t result;
|
result_t result;
|
||||||
unsigned int value;
|
unsigned int value;
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case O_URL: // --knxurl=[multicast][@interface]
|
case O_URL: // --knxurl[=[multicast][@interface]]
|
||||||
if (arg == nullptr) { // empty is allowed
|
// empty is allowed
|
||||||
argp_error(state, "invalid knxurl");
|
g_url = arg ? arg : emptyUrl;
|
||||||
return EINVAL;
|
|
||||||
}
|
|
||||||
g_url = arg;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case O_AGR: // --knxrage=5
|
case O_AGR: // --knxrage=5
|
||||||
|
|||||||
Reference in New Issue
Block a user