summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Warning <moritzwarning@web.de>2020-12-08 06:04:05 +0100
committerGitHub <noreply@github.com>2020-12-08 14:04:05 +0900
commit637173dbbfeafbaf65be661b7e934c29b8016f46 (patch)
treece9abe7d094fae0411edb07581a21870e02a3c61
parentaf734fe097ed379b0aa5fcf551886b1ce5098052 (diff)
downloadDLT-daemon-637173dbbfeafbaf65be661b7e934c29b8016f46.tar.gz
dlt-control.c: return -1 on error (#259)
Signed-off-by: Moritz Warning <moritzwarning@web.de>
-rw-r--r--src/console/dlt-control.c52
1 files changed, 40 insertions, 12 deletions
diff --git a/src/console/dlt-control.c b/src/console/dlt-control.c
index 40f5599..3680fd9 100644
--- a/src/console/dlt-control.c
+++ b/src/console/dlt-control.c
@@ -282,6 +282,7 @@ int main(int argc, char *argv[])
{
DltReceiveData dltdata;
int c;
+ int ret;
int index;
char *endptr = NULL;
struct timespec ts;
@@ -301,6 +302,9 @@ int main(int argc, char *argv[])
/* Fetch command line arguments */
opterr = 0;
+ /* Default return value */
+ ret = 0;
+
while ((c = getopt (argc, argv, "vhye:b:a:c:s:m:x:t:l:r:d:f:i:ogjku")) != -1)
switch (c) {
case 'v':
@@ -550,8 +554,10 @@ int main(int argc, char *argv[])
dltdata.cvalue,
dltdata.svalue,
(uint8_t *)dltdata.mvalue,
- strlen(dltdata.mvalue)) != DLT_RETURN_OK)
+ strlen(dltdata.mvalue)) != DLT_RETURN_OK) {
fprintf(stderr, "ERROR: Could not send inject message\n");
+ ret = -1;
+ }
}
else if (dltdata.xvalue && dltdata.avalue && dltdata.cvalue)
{
@@ -571,8 +577,10 @@ int main(int argc, char *argv[])
dltdata.avalue,
dltdata.cvalue,
dltdata.svalue,
- buffer, size) != DLT_RETURN_OK)
+ buffer, size) != DLT_RETURN_OK) {
fprintf(stderr, "ERROR: Could not send inject message\n");
+ ret = -1;
+ }
}
else if (dltdata.lvalue != DLT_INVALID_LOG_LEVEL) /*&& dltdata.avalue && dltdata.cvalue)*/
{
@@ -583,8 +591,10 @@ int main(int argc, char *argv[])
}
if (0 != dlt_client_send_all_log_level(&g_dltclient,
- dltdata.lvalue))
+ dltdata.lvalue)) {
fprintf(stderr, "ERROR: Could not send log level\n");
+ ret = -1;
+ }
}
else {
/* log level */
@@ -599,8 +609,10 @@ int main(int argc, char *argv[])
if (0 != dlt_client_send_log_level(&g_dltclient,
dltdata.avalue,
dltdata.cvalue,
- dltdata.lvalue))
+ dltdata.lvalue)) {
fprintf(stderr, "ERROR: Could not send log level\n");
+ ret = -1;
+ }
}
}
else if (dltdata.rvalue != DLT_INVALID_TRACE_STATUS)
@@ -612,8 +624,10 @@ int main(int argc, char *argv[])
}
if (0 != dlt_client_send_all_trace_status(&g_dltclient,
- dltdata.rvalue))
+ dltdata.rvalue)) {
fprintf(stderr, "ERROR: Could not send trace status\n");
+ ret = -1;
+ }
}
else {
/* trace status */
@@ -628,8 +642,10 @@ int main(int argc, char *argv[])
if (0 != dlt_client_send_trace_status(&g_dltclient,
dltdata.avalue,
dltdata.cvalue,
- dltdata.rvalue))
+ dltdata.rvalue)) {
fprintf(stderr, "ERROR: Could not send trace status\n");
+ ret = -1;
+ }
}
}
else if (dltdata.dvalue != -1)
@@ -639,8 +655,10 @@ int main(int argc, char *argv[])
printf("Loglevel: %d\n", dltdata.dvalue);
/* send control message in*/
- if (dlt_client_send_default_log_level(&g_dltclient, dltdata.dvalue) != DLT_RETURN_OK)
+ if (dlt_client_send_default_log_level(&g_dltclient, dltdata.dvalue) != DLT_RETURN_OK) {
fprintf (stderr, "ERROR: Could not send default log level\n");
+ ret = -1;
+ }
}
else if (dltdata.fvalue != -1)
{
@@ -649,8 +667,10 @@ int main(int argc, char *argv[])
printf("TraceStatus: %d\n", dltdata.fvalue);
/* send control message in*/
- if (dlt_client_send_default_trace_status(&g_dltclient, dltdata.fvalue) != DLT_RETURN_OK)
+ if (dlt_client_send_default_trace_status(&g_dltclient, dltdata.fvalue) != DLT_RETURN_OK) {
fprintf (stderr, "ERROR: Could not send default trace status\n");
+ ret = -1;
+ }
}
else if (dltdata.ivalue != -1)
{
@@ -659,8 +679,10 @@ int main(int argc, char *argv[])
printf("Timing packets: %d\n", dltdata.ivalue);
/* send control message in*/
- if (dlt_client_send_timing_pakets(&g_dltclient, dltdata.ivalue) != DLT_RETURN_OK)
+ if (dlt_client_send_timing_pakets(&g_dltclient, dltdata.ivalue) != DLT_RETURN_OK) {
fprintf (stderr, "ERROR: Could not send timing packets\n");
+ ret = -1;
+ }
}
else if (dltdata.oflag != -1)
{
@@ -668,8 +690,10 @@ int main(int argc, char *argv[])
printf("Store config\n");
/* send control message in*/
- if (dlt_client_send_store_config(&g_dltclient) != DLT_RETURN_OK)
+ if (dlt_client_send_store_config(&g_dltclient) != DLT_RETURN_OK) {
fprintf (stderr, "ERROR: Could not send store config\n");
+ ret = -1;
+ }
}
else if (dltdata.gflag != -1)
{
@@ -677,8 +701,10 @@ int main(int argc, char *argv[])
printf("Reset to factory default\n");
/* send control message in*/
- if (dlt_client_send_reset_to_factory_default(&g_dltclient) != DLT_RETURN_OK)
+ if (dlt_client_send_reset_to_factory_default(&g_dltclient) != DLT_RETURN_OK) {
fprintf (stderr, "ERROR: Could not send reset to factory default\n");
+ ret = -1;
+ }
}
else if (dltdata.jvalue == 1)
{
@@ -700,6 +726,8 @@ int main(int argc, char *argv[])
ts.tv_sec = (dltdata.tvalue * NANOSEC_PER_MILLISEC) / NANOSEC_PER_SEC;
ts.tv_nsec = (dltdata.tvalue * NANOSEC_PER_MILLISEC) % NANOSEC_PER_SEC;
nanosleep(&ts, NULL);
+ } else {
+ ret = -1;
}
/* Dlt Client Cleanup */
@@ -712,7 +740,7 @@ int main(int argc, char *argv[])
dlt_filter_free(&(dltdata.filter), dltdata.vflag);
- return 0;
+ return ret;
}
int dlt_receive_message_callback(DltMessage *message, void *data)