From 84788584b2accd96776762a688381737e1483361 Mon Sep 17 00:00:00 2001 From: "Dinh Cong Toan(RBVH/ECM12)" Date: Thu, 8 Oct 2020 17:03:45 +0700 Subject: gateway: fix compile warnings - Correct the data type of 'headersize' and 'datasize' variables in header 'dlt_common.h', then config those functions using this library. - Explicit the data type. Signed-off-by: Dinh Cong Toan(RBVH/ECM12) --- include/dlt/dlt_common.h | 12 ++++++------ src/daemon/dlt-daemon.c | 4 ++-- src/gateway/dlt_gateway.c | 36 ++++++++++++++++++------------------ src/lib/dlt_user.c | 12 ++++++------ src/shared/dlt_common.c | 7 +++---- 5 files changed, 35 insertions(+), 36 deletions(-) diff --git a/include/dlt/dlt_common.h b/include/dlt/dlt_common.h index aa10796..07eb83c 100644 --- a/include/dlt/dlt_common.h +++ b/include/dlt/dlt_common.h @@ -300,7 +300,7 @@ enum { if ((length < 0) || ((length) < ((int32_t)sizeof(type)))) \ { length = -1; } \ else \ - { dst = *((type *)src); src += sizeof(type); length -= sizeof(type); } \ + { dst = *((type *)src); src += sizeof(type); length -= (int32_t) sizeof(type); } \ } # define DLT_MSG_READ_ID(dst, src, length) \ @@ -497,14 +497,14 @@ typedef struct sDltMessage int32_t resync_offset; /* size parameters */ - int32_t headersize; /**< size of complete header including storage header */ - int32_t datasize; /**< size of complete payload */ + uint32_t headersize; /**< size of complete header including storage header */ + uint32_t datasize; /**< size of complete payload */ /* buffer for current loaded message */ uint8_t headerbuffer[sizeof(DltStorageHeader) + sizeof(DltStandardHeader) + sizeof(DltStandardHeaderExtra) + sizeof(DltExtendedHeader)]; /**< buffer for loading complete header */ uint8_t *databuffer; /**< buffer for loading payload */ - int32_t databuffersize; + uint32_t databuffersize; /* header values of current loaded message */ DltStorageHeader *storageheader; /**< pointer to storage header of current loaded header */ @@ -780,7 +780,7 @@ typedef struct char *backup_buf; /** pointer to the buffer with partial messages if any **/ int fd; /**< connection handle */ DltReceiverType type; /**< type of connection handle */ - int32_t buffersize; /**< size of receiver buffer */ + uint32_t buffersize; /**< size of receiver buffer */ struct sockaddr_in addr; /**< socket address information */ } DltReceiver; @@ -1291,7 +1291,7 @@ DltReturnValue dlt_check_storageheader(DltStorageHeader *storageheader); * @param required size * @return negative value if required size is not sufficient * */ -DltReturnValue dlt_check_rcv_data_size(int received, int required); +DltReturnValue dlt_check_rcv_data_size(uint32_t received, uint32_t required); /** * Initialise static ringbuffer with a size of size. diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c index 8e37c17..bfe11d0 100644 --- a/src/daemon/dlt-daemon.c +++ b/src/daemon/dlt-daemon.c @@ -2373,7 +2373,7 @@ int dlt_daemon_process_user_messages(DltDaemon *daemon, { int offset = 0; int run_loop = 1; - int32_t min_size = (int32_t)sizeof(DltUserHeader); + int32_t min_size = (int32_t) sizeof(DltUserHeader); DltUserHeader *userheader; int recv; @@ -3042,7 +3042,7 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, #else ret = dlt_message_read(&(daemon_local->msg), (unsigned char *)rec->buf + sizeof(DltUserHeader), - rec->bytesRcvd - sizeof(DltUserHeader), + (unsigned int) (rec->bytesRcvd - sizeof(DltUserHeader)), 0, verbose); diff --git a/src/gateway/dlt_gateway.c b/src/gateway/dlt_gateway.c index 9d0041d..27d1f49 100644 --- a/src/gateway/dlt_gateway.c +++ b/src/gateway/dlt_gateway.c @@ -313,7 +313,7 @@ DLT_STATIC DltReturnValue dlt_gateway_check_control_messages(DltGatewayConnectio return DLT_RETURN_ERROR; } - con->p_control_msgs->id = strtol(token, NULL, 16); + con->p_control_msgs->id = (uint32_t) strtol(token, NULL, 16); con->p_control_msgs->user_id = DLT_SERVICE_ID_PASSIVE_NODE_CONNECT; con->p_control_msgs->type = CONTROL_MESSAGE_ON_STARTUP; con->p_control_msgs->req = CONTROL_MESSAGE_NOT_REQUESTED; @@ -384,7 +384,7 @@ DLT_STATIC DltReturnValue dlt_gateway_check_periodic_control_messages( p_token = strtok_r(token, ":", &p_rest); if ((p_token != NULL) && (strlen(p_token) != 0)) { - id = strtol(p_token, NULL, 16); + id = (uint32_t) strtol(p_token, NULL, 16); /* get back to head */ con->p_control_msgs = head; @@ -393,7 +393,7 @@ DLT_STATIC DltReturnValue dlt_gateway_check_periodic_control_messages( while (con->p_control_msgs != NULL) { if (con->p_control_msgs->id == id) { con->p_control_msgs->type = CONTROL_MESSAGE_BOTH; - con->p_control_msgs->interval = strtol(p_rest, NULL, 10); + con->p_control_msgs->interval = (int) strtol(p_rest, NULL, 10); if (con->p_control_msgs->interval <= 0) dlt_vlog(LOG_WARNING, @@ -430,7 +430,7 @@ DLT_STATIC DltReturnValue dlt_gateway_check_periodic_control_messages( con->p_control_msgs->user_id = DLT_SERVICE_ID_PASSIVE_NODE_CONNECT; con->p_control_msgs->type = CONTROL_MESSAGE_PERIODIC; con->p_control_msgs->req = CONTROL_MESSAGE_NOT_REQUESTED; - con->p_control_msgs->interval = strtol(p_rest, NULL, 10); + con->p_control_msgs->interval = (int) strtol(p_rest, NULL, 10); if (con->p_control_msgs->interval <= 0) dlt_vlog(LOG_WARNING, @@ -697,7 +697,7 @@ int dlt_gateway_configure(DltGateway *gateway, char *config_file, int verbose) gateway->num_connections = num_sections - 1; } - gateway->connections = calloc(gateway->num_connections, + gateway->connections = calloc((size_t) gateway->num_connections, sizeof(DltGatewayConnection)); if (gateway->connections == NULL) { @@ -1167,8 +1167,8 @@ DLT_STATIC DltReturnValue dlt_gateway_parse_get_log_info(DltDaemon *daemon, if (dlt_daemon_context_add(daemon, app.app_id, con.context_id, - con.log_level, - con.trace_status, + (int8_t) con.log_level, + (int8_t) con.trace_status, 0, -1, con.context_description, @@ -1349,7 +1349,7 @@ DltReturnValue dlt_gateway_process_passive_node_messages(DltDaemon *daemon, while (dlt_message_read(&msg, (unsigned char *)receiver->buf, - receiver->bytesRcvd, + (unsigned int) receiver->bytesRcvd, 0, verbose) == DLT_MESSAGE_ERROR_OK) { DltStandardHeaderExtra *header = (DltStandardHeaderExtra *) @@ -1422,9 +1422,9 @@ DltReturnValue dlt_gateway_process_passive_node_messages(DltDaemon *daemon, msg.headerbuffer, sizeof(DltStorageHeader), msg.headerbuffer + sizeof(DltStorageHeader), - msg.headersize - sizeof(DltStorageHeader), + (int) (msg.headersize - sizeof(DltStorageHeader)), msg.databuffer, - msg.datasize, + (int) msg.datasize, verbose); } else { /* otherwise remove this connection and do not connect again */ dlt_vlog(LOG_WARNING, @@ -1449,19 +1449,19 @@ DltReturnValue dlt_gateway_process_passive_node_messages(DltDaemon *daemon, if (msg.found_serialheader) { if (dlt_receiver_remove(receiver, - msg.headersize + + (int) (msg.headersize + msg.datasize - sizeof(DltStorageHeader) + - sizeof(dltSerialHeader)) == -1) { + sizeof(dltSerialHeader))) == -1) { /* Return value ignored */ dlt_message_free(&msg, verbose); return DLT_RETURN_ERROR; } } else if (dlt_receiver_remove(receiver, - msg.headersize + + (int) (msg.headersize + msg.datasize - - sizeof(DltStorageHeader)) == -1) { + sizeof(DltStorageHeader))) == -1) { /* Return value ignored */ dlt_message_free(&msg, verbose); return DLT_RETURN_ERROR; @@ -1557,7 +1557,7 @@ int dlt_gateway_forward_control_message(DltGateway *gateway, } if (con->send_serial) { /* send serial header */ - ret = send(con->client.sock, + ret = (int) send(con->client.sock, (void *)dltSerialHeader, sizeof(dltSerialHeader), 0); @@ -1568,7 +1568,7 @@ int dlt_gateway_forward_control_message(DltGateway *gateway, } } - ret = send(con->client.sock, + ret = (int) send(con->client.sock, msg->headerbuffer + sizeof(DltStorageHeader), msg->headersize - sizeof(DltStorageHeader), 0); @@ -1578,7 +1578,7 @@ int dlt_gateway_forward_control_message(DltGateway *gateway, return DLT_RETURN_ERROR; } else { - ret = send(con->client.sock, msg->databuffer, msg->datasize, 0); + ret = (int) send(con->client.sock, msg->databuffer, msg->datasize, 0); if (ret == -1) { dlt_log(LOG_ERR, "Sending message to passive DLT Daemon failed\n"); @@ -1697,7 +1697,7 @@ int dlt_gateway_send_control_message(DltGatewayConnection *con, } if (con->send_serial) { /* send serial header */ - ret = send(con->client.sock, + ret = (int) send(con->client.sock, (void *)dltSerialHeader, sizeof(dltSerialHeader), 0); diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c index 795bfbd..d810eb1 100644 --- a/src/lib/dlt_user.c +++ b/src/lib/dlt_user.c @@ -4344,7 +4344,7 @@ DltReturnValue dlt_user_log_check_user_message(void) /* look through buffer as long as data is in there */ while (1) { - if (receiver->bytesRcvd < (int32_t)sizeof(DltUserHeader)) + if (receiver->bytesRcvd < (int32_t) sizeof(DltUserHeader)) break; /* resync if necessary */ @@ -4359,7 +4359,7 @@ DltReturnValue dlt_user_log_check_user_message(void) offset++; - } while ((int32_t)(sizeof(DltUserHeader) + offset) <= receiver->bytesRcvd); + } while ((int32_t) (sizeof(DltUserHeader) + offset) <= receiver->bytesRcvd); /* Check for user header pattern */ if ((dlt_user_check_userheader(userheader) < 0) || @@ -4375,7 +4375,7 @@ DltReturnValue dlt_user_log_check_user_message(void) switch (userheader->message) { case DLT_USER_MESSAGE_LOG_LEVEL: { - if (receiver->bytesRcvd < (int32_t)(sizeof(DltUserHeader) + sizeof(DltUserControlMsgLogLevel))) { + if (receiver->bytesRcvd < (int32_t) (sizeof(DltUserHeader) + sizeof(DltUserControlMsgLogLevel))) { leave_while = 1; break; } @@ -4430,7 +4430,7 @@ DltReturnValue dlt_user_log_check_user_message(void) case DLT_USER_MESSAGE_INJECTION: { /* At least, user header, user context, and service id and data_length of injected message is available */ - if (receiver->bytesRcvd < (int32_t)(sizeof(DltUserHeader) + sizeof(DltUserControlMsgInjection))) { + if (receiver->bytesRcvd < (int32_t) (sizeof(DltUserHeader) + sizeof(DltUserControlMsgInjection))) { leave_while = 1; break; } @@ -4442,7 +4442,7 @@ DltReturnValue dlt_user_log_check_user_message(void) if (userbuffer != NULL) { if (receiver->bytesRcvd < - (int32_t)(sizeof(DltUserHeader) + sizeof(DltUserControlMsgInjection) + + (int32_t) (sizeof(DltUserHeader) + sizeof(DltUserControlMsgInjection) + usercontextinj->data_length_inject)) { leave_while = 1; break; @@ -4524,7 +4524,7 @@ DltReturnValue dlt_user_log_check_user_message(void) case DLT_USER_MESSAGE_LOG_STATE: { /* At least, user header, user context, and service id and data_length of injected message is available */ - if (receiver->bytesRcvd < (int32_t)(sizeof(DltUserHeader) + sizeof(DltUserControlMsgLogState))) { + if (receiver->bytesRcvd < (int32_t) (sizeof(DltUserHeader) + sizeof(DltUserControlMsgLogState))) { leave_while = 1; break; } diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c index bc4d5e5..5fe79cd 100644 --- a/src/shared/dlt_common.c +++ b/src/shared/dlt_common.c @@ -2067,7 +2067,6 @@ int dlt_receiver_receive(DltReceiver *receiver) if (receiver->bytesRcvd <= 0) { receiver->bytesRcvd = 0; - return receiver->bytesRcvd; } /* if */ @@ -2131,7 +2130,7 @@ int dlt_receiver_check_and_get(DltReceiver *receiver, min_size += sizeof(DltUserHeader); if (!receiver || - (receiver->bytesRcvd < (int32_t)min_size) || + (receiver->bytesRcvd < (int32_t) min_size) || !receiver->buf || !dest) return DLT_RETURN_WRONG_PARAMETER; @@ -2189,10 +2188,10 @@ DltReturnValue dlt_set_storageheader(DltStorageHeader *storageheader, const char return DLT_RETURN_OK; } -DltReturnValue dlt_check_rcv_data_size(int received, int required) +DltReturnValue dlt_check_rcv_data_size(uint32_t received, uint32_t required) { int _ret = DLT_RETURN_OK; - if ((received - required) < 0) { + if (received < required) { dlt_vlog(LOG_WARNING, "%s: Received data not complete\n", __func__); _ret = DLT_RETURN_ERROR; } -- cgit v1.2.1