diff options
-rw-r--r-- | include/dlt/dlt_user_macros.h | 16 | ||||
-rw-r--r-- | src/daemon/dlt_daemon_socket.c | 11 | ||||
-rw-r--r-- | src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 47 | ||||
-rw-r--r-- | src/shared/dlt_offline_trace.c | 4 |
4 files changed, 36 insertions, 42 deletions
diff --git a/include/dlt/dlt_user_macros.h b/include/dlt/dlt_user_macros.h index f1a531b..f313270 100644 --- a/include/dlt/dlt_user_macros.h +++ b/include/dlt/dlt_user_macros.h @@ -202,9 +202,9 @@ * Send log message with variable list of messages (intended for verbose mode) * @param CONTEXT object containing information about one special logging context * @param LOGLEVEL the log level of the log message - * @param ARGS variable list of arguments + * @param ... variable list of arguments * @note To avoid the MISRA warning "The comma operator has been used outside a for statement" - * use a semicolon instead of a comma to separate the ARGS. + * use a semicolon instead of a comma to separate the __VA_ARGS__. * Example: DLT_LOG(hContext, DLT_LOG_INFO, DLT_STRING("Hello world"); DLT_INT(123)); */ #ifdef _MSC_VER @@ -229,9 +229,9 @@ * @param CONTEXT object containing information about one special logging context * @param LOGLEVEL the log level of the log message * @param TS timestamp to be used for log message - * @param ARGS variable list of arguments + * @param ... variable list of arguments * @note To avoid the MISRA warning "The comma operator has been used outside a for statement" - * use a semicolon instead of a comma to separate the ARGS. + * use a semicolon instead of a comma to separate the __VA_ARGS__. * Example: DLT_LOG_TS(hContext, DLT_LOG_INFO, timestamp, DLT_STRING("Hello world"); DLT_INT(123)); */ #ifdef _MSC_VER @@ -258,11 +258,11 @@ * @param CONTEXT object containing information about one special logging context * @param LOGLEVEL the log level of the log message * @param MSGID the message id of log message - * @param ARGS variable list of arguments: + * @param ... variable list of arguments * calls to DLT_STRING(), DLT_BOOL(), DLT_FLOAT32(), DLT_FLOAT64(), * DLT_INT(), DLT_UINT(), DLT_RAW() * @note To avoid the MISRA warning "The comma operator has been used outside a for statement" - * use a semicolon instead of a comma to separate the ARGS. + * use a semicolon instead of a comma to separate the __VA_ARGS__. * Example: DLT_LOG_ID(hContext, DLT_LOG_INFO, 0x1234, DLT_STRING("Hello world"); DLT_INT(123)); */ #ifdef _MSC_VER @@ -288,11 +288,11 @@ * @param LOGLEVEL the log level of the log message * @param MSGID the message id of log message * @param TS timestamp to be used for log message - * @param ARGS variable list of arguments: + * @param ... variable list of arguments * calls to DLT_STRING(), DLT_BOOL(), DLT_FLOAT32(), DLT_FLOAT64(), * DLT_INT(), DLT_UINT(), DLT_RAW() * @note To avoid the MISRA warning "The comma operator has been used outside a for statement" - * use a semicolon instead of a comma to separate the ARGS. + * use a semicolon instead of a comma to separate the __VA_ARGS__. * Example: DLT_LOG_ID_TS(hContext, DLT_LOG_INFO, 0x1234, timestamp, DLT_STRING("Hello world"); DLT_INT(123)); */ #ifdef _MSC_VER diff --git a/src/daemon/dlt_daemon_socket.c b/src/daemon/dlt_daemon_socket.c index 65d9a5c..a2cf08a 100644 --- a/src/daemon/dlt_daemon_socket.c +++ b/src/daemon/dlt_daemon_socket.c @@ -193,15 +193,16 @@ int dlt_daemon_socket_sendreliable(int sock, void *data_buffer, int message_size int data_sent = 0; while (data_sent < message_size) { - ssize_t ret = send(sock, (char *)data_buffer + data_sent, message_size - data_sent, 0); + ssize_t ret = send(sock, + (uint8_t*)data_buffer + data_sent, + message_size - data_sent, + 0); if (ret < 0) { dlt_vlog(LOG_WARNING, - "dlt_daemon_socket_sendreliable: socket send failed [errno: %d]!\n", - errno); + "%s: socket send failed [errno: %d]!\n", __func__, errno); return DLT_DAEMON_ERROR_SEND_FAILED; - } - else { + } else { data_sent += ret; } } diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c index 3f7555e..d0ea325 100644 --- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c @@ -515,17 +515,13 @@ DLT_STATIC int dlt_logstorage_find_dlt_header(void *ptr, unsigned int offset, unsigned int cnt) { - int index = 0; - char substring[] = { 'D', 'L', 'T', 0x01 }; + const char magic[] = { 'D', 'L', 'T', 0x01 }; + const char *cache = (char*)ptr + offset; - while (cnt > 0) { - if (*((char *)ptr + offset + index) == 'D') { - if (strncmp((char *)ptr + offset + index, substring, 4) == 0) - return index; - } - - cnt--; - index++; + unsigned int i; + for (i = 0; i < cnt; i++) { + if ((cache[i] == 'D') && (strncmp(&cache[i], magic, 4) == 0)) + return i; } return -1; @@ -545,18 +541,15 @@ DLT_STATIC int dlt_logstorage_find_last_dlt_header(void *ptr, unsigned int offset, unsigned int cnt) { - char substring[] = {'D', 'L', 'T', 0x01}; - while(cnt > 0) - { - if (*((char *)ptr + offset + cnt) == 'D') - { - if (strncmp((char *)ptr + offset + cnt, substring, 4) == 0) - { - return cnt; - } - } - cnt--; + const char magic[] = {'D', 'L', 'T', 0x01}; + const char *cache = (char*)ptr + offset; + + unsigned int i; + for (i = cnt; i > 0; i--) { + if ((cache[i] == 'D') && (strncmp(&cache[i], magic, 4) == 0)) + return i; } + return -1; } @@ -653,7 +646,7 @@ DLT_STATIC int dlt_logstorage_sync_to_file(DltLogStorageFilterConfig *config, } } - ret = fwrite((char *)config->cache + start_offset + start_index, count, 1, + ret = fwrite((uint8_t*)config->cache + start_offset + start_index, count, 1, config->log); dlt_logstorage_check_write_ret(config, ret); @@ -691,7 +684,7 @@ DLT_STATIC int dlt_logstorage_sync_to_file(DltLogStorageFilterConfig *config, } } - ret = fwrite((char *)config->cache + start_offset + start_index, count, 1, + ret = fwrite((uint8_t*)config->cache + start_offset + start_index, count, 1, config->log); dlt_logstorage_check_write_ret(config, ret); @@ -962,7 +955,7 @@ int dlt_logstorage_write_msg_cache(DltLogStorageFilterConfig *config, DltLogStorageCacheFooter *footer = NULL; int msg_size; int remain_cache_size; - char *curr_write_addr = NULL; + uint8_t *curr_write_addr = NULL; int ret = 0; unsigned int cache_size; @@ -983,7 +976,7 @@ int dlt_logstorage_write_msg_cache(DltLogStorageFilterConfig *config, cache_size = config->file_size; } - footer = (DltLogStorageCacheFooter *)((char *)config->cache + cache_size); + footer = (DltLogStorageCacheFooter *)((uint8_t*)config->cache + cache_size); if (footer == NULL) { dlt_log(LOG_ERR, "Cannot retrieve cache footer. Address is NULL\n"); @@ -994,7 +987,7 @@ int dlt_logstorage_write_msg_cache(DltLogStorageFilterConfig *config, if (msg_size <= remain_cache_size) /* add at current position */ { - curr_write_addr = (char *)config->cache + footer->offset; + curr_write_addr = (uint8_t*)config->cache + footer->offset; footer->offset += msg_size; if (footer->wrap_around_cnt < 1) { footer->end_sync_offset = footer->offset; @@ -1123,7 +1116,7 @@ int dlt_logstorage_sync_msg_cache(DltLogStorageFilterConfig *config, cache_size = config->file_size; } - footer = (DltLogStorageCacheFooter *)((char *)config->cache + cache_size); + footer = (DltLogStorageCacheFooter *)((uint8_t*)config->cache + cache_size); if (footer == NULL) { dlt_log(LOG_ERR, "Cannot retrieve cache information\n"); diff --git a/src/shared/dlt_offline_trace.c b/src/shared/dlt_offline_trace.c index 303d6b3..060b97f 100644 --- a/src/shared/dlt_offline_trace.c +++ b/src/shared/dlt_offline_trace.c @@ -195,7 +195,7 @@ DltReturnValue dlt_offline_trace_create_new_file(DltOfflineTrace *trace) DLT_OFFLINETRACE_FILENAME_TIMESTAMP_DELI, timestamp, DLT_OFFLINETRACE_FILENAME_EXT); - if ((ret < 0) || (ret >= (int)sizeof(trace->filename))) { + if ((ret < 0) || ((size_t)ret >= (int)sizeof(trace->filename))) { printf("dlt_offlinetrace filename cannot be concatenated\n"); return DLT_RETURN_ERROR; } @@ -203,7 +203,7 @@ DltReturnValue dlt_offline_trace_create_new_file(DltOfflineTrace *trace) ret = snprintf(file_path, sizeof(file_path), "%s/%s", trace->directory, trace->filename); - if ((ret < 0) || (ret >= (int)sizeof(file_path))) { + if ((ret < 0) || ((size_t)ret >= (int)sizeof(file_path))) { printf("dlt_offlinetrace file path cannot be concatenated\n"); return DLT_RETURN_ERROR; } |