summaryrefslogtreecommitdiff
path: root/src/daemon/dlt-daemon.c
diff options
context:
space:
mode:
authoriod1hc <toan.dinhcong@vn.bosch.com>2020-11-05 19:29:45 +0700
committerSaya Sugiura <39760799+ssugiura@users.noreply.github.com>2021-01-06 09:27:28 +0900
commit699d52298bfde3ab5721a78264d5a4f4e2f326ef (patch)
treed1f59052c1f77e860971fec19032333907d58c22 /src/daemon/dlt-daemon.c
parent2e8dade01beef3d8b6e6b812690c1f64d3408ce2 (diff)
downloadDLT-daemon-699d52298bfde3ab5721a78264d5a4f4e2f326ef.tar.gz
daemon: fix conversion warnings
- Instead of casting frequently, change the data type of 'to_remove' to 'uint32_t' for the correct format, also adding temp variable to check return value. - Change data type of 2 variable 'offset' and 'sizecont' to 'size_t' (dlt_daemon_client.c), because these variable using many time with function 'sizeof', and they was used as local variable so it will not effect dlt library. Signed-off-by: Dinh Cong Toan <toan.dinhcong@vn.bosch.com>
Diffstat (limited to 'src/daemon/dlt-daemon.c')
-rw-r--r--src/daemon/dlt-daemon.c100
1 files changed, 56 insertions, 44 deletions
diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
index bfe11d0..22ac934 100644
--- a/src/daemon/dlt-daemon.c
+++ b/src/daemon/dlt-daemon.c
@@ -261,7 +261,7 @@ int option_handling(DltDaemonLocal *daemon_local, int argc, char *argv[])
#endif
case 'p':
{
- daemon_local->flags.port = atoi(optarg);
+ daemon_local->flags.port = (unsigned int) atoi(optarg);
if (daemon_local->flags.port == 0) {
fprintf (stderr, "Invalid port `%s' specified.\n", optarg);
@@ -593,7 +593,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
}
else if (strcmp(token, "OfflineLogstorageMaxDevices") == 0)
{
- daemon_local->flags.offlineLogstorageMaxDevices = atoi(value);
+ daemon_local->flags.offlineLogstorageMaxDevices = (uint32_t) atoi(value);
}
else if (strcmp(token, "OfflineLogstorageDirPath") == 0)
{
@@ -615,8 +615,8 @@ int option_file_parser(DltDaemonLocal *daemon_local)
}
else if (strcmp(token, "OfflineLogstorageMaxCounter") == 0)
{
- daemon_local->flags.offlineLogstorageMaxCounter = atoi(value);
- daemon_local->flags.offlineLogstorageMaxCounterIdx = strlen(value);
+ daemon_local->flags.offlineLogstorageMaxCounter = (unsigned int) atoi(value);
+ daemon_local->flags.offlineLogstorageMaxCounterIdx = (unsigned int) strlen(value);
}
else if (strcmp(token, "OfflineLogstorageCacheSize") == 0)
{
@@ -1272,7 +1272,7 @@ static int dlt_daemon_init_serial(DltDaemonLocal *daemon_local)
daemon_local->baudrate = dlt_convert_serial_speed(speed);
- if (dlt_setup_serial(fd, daemon_local->baudrate) < 0) {
+ if (dlt_setup_serial(fd, (speed_t) daemon_local->baudrate) < 0) {
close(fd);
daemon_local->flags.yvalue[0] = 0;
@@ -1601,7 +1601,7 @@ int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_
}
/* Allocate permanent buffer for version info */
- version = malloc(size + 1);
+ version = malloc((size_t) (size + 1));
if (version == 0) {
dlt_log(LOG_WARNING, "Cannot allocate memory for ECU version.\n");
@@ -1612,7 +1612,7 @@ int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_
off_t offset = 0;
while (!feof(f)) {
- offset += fread(version + offset, 1, size, f);
+ offset += fread(version + offset, 1, (size_t) size, f);
if (ferror(f)) {
dlt_log(LOG_WARNING, "Failed to read ECU Software version file.\n");
@@ -1876,10 +1876,10 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local, cha
/* Set payload data... */
uiType = DLT_TYPE_INFO_STRG;
- uiSize = strlen(str) + 1;
- msg.datasize = sizeof(uint32_t) + sizeof(uint16_t) + uiSize;
+ uiSize = (uint16_t) (strlen(str) + 1);
+ msg.datasize = (uint32_t) (sizeof(uint32_t) + sizeof(uint16_t) + uiSize);
- msg.databuffer = (uint8_t *)malloc(msg.datasize);
+ msg.databuffer = (uint8_t *)malloc((size_t) msg.datasize);
msg.databuffersize = msg.datasize;
if (msg.databuffer == 0) {
@@ -1889,9 +1889,9 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local, cha
msg.datasize = 0;
memcpy((uint8_t *)(msg.databuffer + msg.datasize), (uint8_t *)(&uiType), sizeof(uint32_t));
- msg.datasize += sizeof(uint32_t);
+ msg.datasize += (uint32_t) sizeof(uint32_t);
memcpy((uint8_t *)(msg.databuffer + msg.datasize), (uint8_t *)(&uiSize), sizeof(uint16_t));
- msg.datasize += sizeof(uint16_t);
+ msg.datasize += (uint32_t) sizeof(uint16_t);
memcpy((uint8_t *)(msg.databuffer + msg.datasize), str, uiSize);
msg.datasize += uiSize;
@@ -1901,8 +1901,8 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local, cha
dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,daemon_local,
msg.headerbuffer, sizeof(DltStorageHeader),
msg.headerbuffer + sizeof(DltStorageHeader),
- msg.headersize - sizeof(DltStorageHeader),
- msg.databuffer, msg.datasize, verbose);
+ (int) (msg.headersize - sizeof(DltStorageHeader)),
+ msg.databuffer, (int) msg.datasize, verbose);
free(msg.databuffer);
@@ -2045,7 +2045,7 @@ int dlt_daemon_process_client_messages(DltDaemon *daemon,
/* Process all received messages */
while (dlt_message_read(&(daemon_local->msg),
(uint8_t *)receiver->buf,
- receiver->bytesRcvd,
+ (unsigned int) receiver->bytesRcvd,
daemon_local->flags.nflag,
daemon_local->flags.vflag) == DLT_MESSAGE_ERROR_OK) {
/* Check for control message */
@@ -2057,12 +2057,12 @@ int dlt_daemon_process_client_messages(DltDaemon *daemon,
&(daemon_local->msg),
daemon_local->flags.vflag);
- bytes_to_be_removed = daemon_local->msg.headersize +
+ bytes_to_be_removed = (int) (daemon_local->msg.headersize +
daemon_local->msg.datasize -
- sizeof(DltStorageHeader);
+ sizeof(DltStorageHeader));
if (daemon_local->msg.found_serialheader)
- bytes_to_be_removed += sizeof(dltSerialHeader);
+ bytes_to_be_removed += (int) sizeof(dltSerialHeader);
if (daemon_local->msg.resync_offset)
bytes_to_be_removed += daemon_local->msg.resync_offset;
@@ -2118,7 +2118,7 @@ int dlt_daemon_process_client_messages_serial(DltDaemon *daemon,
/* Process all received messages */
while (dlt_message_read(&(daemon_local->msg),
(uint8_t *)receiver->buf,
- receiver->bytesRcvd,
+ (unsigned int) receiver->bytesRcvd,
daemon_local->flags.mflag,
daemon_local->flags.vflag) == DLT_MESSAGE_ERROR_OK) {
/* Check for control message */
@@ -2134,12 +2134,12 @@ int dlt_daemon_process_client_messages_serial(DltDaemon *daemon,
}
}
- bytes_to_be_removed = daemon_local->msg.headersize +
+ bytes_to_be_removed = (int) (daemon_local->msg.headersize +
daemon_local->msg.datasize -
- sizeof(DltStorageHeader);
+ sizeof(DltStorageHeader));
if (daemon_local->msg.found_serialheader)
- bytes_to_be_removed += sizeof(dltSerialHeader);
+ bytes_to_be_removed += (int) sizeof(dltSerialHeader);
if (daemon_local->msg.resync_offset)
bytes_to_be_removed += daemon_local->msg.resync_offset;
@@ -2289,7 +2289,7 @@ int dlt_daemon_process_control_messages(
while (dlt_message_read(
&(daemon_local->msg),
(uint8_t *)receiver->buf,
- receiver->bytesRcvd,
+ (unsigned int) receiver->bytesRcvd,
daemon_local->flags.nflag,
daemon_local->flags.vflag) == DLT_MESSAGE_ERROR_OK) {
/* Check for control message */
@@ -2300,12 +2300,12 @@ int dlt_daemon_process_control_messages(
&(daemon_local->msg),
daemon_local->flags.vflag);
- bytes_to_be_removed = daemon_local->msg.headersize +
+ bytes_to_be_removed = (int) (daemon_local->msg.headersize +
daemon_local->msg.datasize -
- sizeof(DltStorageHeader);
+ sizeof(DltStorageHeader));
if (daemon_local->msg.found_serialheader)
- bytes_to_be_removed += sizeof(dltSerialHeader);
+ bytes_to_be_removed += (int) sizeof(dltSerialHeader);
if (daemon_local->msg.resync_offset)
bytes_to_be_removed += daemon_local->msg.resync_offset;
@@ -2510,7 +2510,7 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon,
int verbose)
{
uint32_t len = sizeof(DltUserControlMsgRegisterApplication);
- int to_remove = 0;
+ uint32_t to_remove = 0;
DltDaemonApplication *application = NULL;
DltDaemonApplication *old_application = NULL;
pid_t old_pid = 0;
@@ -2530,15 +2530,21 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon,
memset(&userapp, 0, sizeof(DltUserControlMsgRegisterApplication));
origin = rec->buf;
+ /* Adding temp variable to check the return value */
+ int temp = 0;
+
/* We shall not remove data before checking that everything is there. */
- to_remove = dlt_receiver_check_and_get(rec,
+ temp = dlt_receiver_check_and_get(rec,
&userapp,
len,
DLT_RCV_SKIP_HEADER);
- if (to_remove < 0)
+ if (temp < 0)
/* Not enough bytes received */
return -1;
+ else {
+ to_remove = (uint32_t) temp;
+ }
len = userapp.description_length;
@@ -2562,12 +2568,12 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon,
}
/* adjust to_remove */
- to_remove += sizeof(DltUserHeader) + len;
+ to_remove += (uint32_t) sizeof(DltUserHeader) + len;
/* point to begin of message */
rec->buf = origin;
/* We can now remove data. */
- if (dlt_receiver_remove(rec, to_remove) != DLT_RETURN_OK) {
+ if (dlt_receiver_remove(rec, (int) to_remove) != DLT_RETURN_OK) {
dlt_log(LOG_WARNING, "Can't remove bytes from receiver\n");
return -1;
}
@@ -2621,7 +2627,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
DltReceiver *rec,
int verbose)
{
- int to_remove = 0;
+ uint32_t to_remove = 0;
uint32_t len = sizeof(DltUserControlMsgRegisterContext);
DltUserControlMsgRegisterContext userctxt;
char description[DLT_DAEMON_DESCSIZE + 1] = { '\0' };
@@ -2643,14 +2649,20 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
memset(&userctxt, 0, sizeof(DltUserControlMsgRegisterContext));
origin = rec->buf;
- to_remove = dlt_receiver_check_and_get(rec,
+ /* Adding temp variable to check the return value */
+ int temp = 0;
+
+ temp = dlt_receiver_check_and_get(rec,
&userctxt,
len,
DLT_RCV_SKIP_HEADER);
- if (to_remove < 0)
+ if (temp < 0)
/* Not enough bytes received */
return -1;
+ else {
+ to_remove = (uint32_t) temp;
+ }
len = userctxt.description_length;
@@ -2674,12 +2686,12 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
}
/* adjust to_remove */
- to_remove += sizeof(DltUserHeader) + len;
+ to_remove += (uint32_t) sizeof(DltUserHeader) + len;
/* point to begin of message */
rec->buf = origin;
/* We can now remove data. */
- if (dlt_receiver_remove(rec, to_remove) != DLT_RETURN_OK) {
+ if (dlt_receiver_remove(rec, (int) to_remove) != DLT_RETURN_OK) {
dlt_log(LOG_WARNING, "Can't remove bytes from receiver\n");
return -1;
}
@@ -2753,8 +2765,8 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
if (daemon_local->flags.offlineLogstorageMaxDevices)
/* Store log level set for offline logstorage into context structure*/
context->storage_log_level =
- dlt_daemon_logstorage_get_loglevel(daemon,
- daemon_local->flags.offlineLogstorageMaxDevices,
+ (int8_t) dlt_daemon_logstorage_get_loglevel(daemon,
+ (int8_t) daemon_local->flags.offlineLogstorageMaxDevices,
userctxt.apid,
userctxt.ctid);
else
@@ -2788,7 +2800,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
req = (DltServiceGetLogInfoRequest *)msg.databuffer;
req->service_id = DLT_SERVICE_ID_GET_LOG_INFO;
- req->options = daemon_local->flags.autoResponseGetLogInfoOption;
+ req->options = (uint8_t) daemon_local->flags.autoResponseGetLogInfoOption;
dlt_set_id(req->apid, userctxt.apid);
dlt_set_id(req->ctid, userctxt.ctid);
dlt_set_id(req->com, "remo");
@@ -3063,12 +3075,12 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon,
dlt_daemon_client_send_message_to_all_client(daemon, daemon_local, verbose);
/* keep not read data in buffer */
- size = daemon_local->msg.headersize +
+ size = (int) (daemon_local->msg.headersize +
daemon_local->msg.datasize - sizeof(DltStorageHeader) +
- sizeof(DltUserHeader);
+ sizeof(DltUserHeader));
if (daemon_local->msg.found_serialheader)
- size += sizeof(dltSerialHeader);
+ size += (int) sizeof(dltSerialHeader);
if (dlt_receiver_remove(rec, size) != DLT_RETURN_OK) {
dlt_log(LOG_WARNING, "failed to remove bytes from receiver.\n");
@@ -3135,10 +3147,10 @@ int dlt_daemon_process_user_message_set_app_ll_ts(DltDaemon *daemon,
if (context) {
old_log_level = context->log_level;
- context->log_level = userctxt.log_level; /* No endianess conversion necessary*/
+ context->log_level = (int8_t) userctxt.log_level; /* No endianess conversion necessary*/
old_trace_status = context->trace_status;
- context->trace_status = userctxt.trace_status; /* No endianess conversion necessary */
+ context->trace_status = (int8_t) userctxt.trace_status; /* No endianess conversion necessary */
/* The following function sends also the trace status */
if ((context->user_handle >= DLT_FD_MINIMUM) &&