summaryrefslogtreecommitdiff
path: root/src/offlinelogstorage/dlt_offline_logstorage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/offlinelogstorage/dlt_offline_logstorage.c')
-rw-r--r--src/offlinelogstorage/dlt_offline_logstorage.c722
1 files changed, 253 insertions, 469 deletions
diff --git a/src/offlinelogstorage/dlt_offline_logstorage.c b/src/offlinelogstorage/dlt_offline_logstorage.c
index 42fcfcb..8571b7a 100644
--- a/src/offlinelogstorage/dlt_offline_logstorage.c
+++ b/src/offlinelogstorage/dlt_offline_logstorage.c
@@ -54,27 +54,22 @@ DLT_STATIC void dlt_logstorage_filter_config_free(DltLogStorageFilterConfig *dat
free(data->file_name);
data->file_name = NULL;
- if (data->ecuid != NULL)
- {
+ if (data->ecuid != NULL) {
free(data->ecuid);
data->ecuid = NULL;
}
if (data->log != NULL)
- {
fclose(data->log);
- }
- if (data->cache != NULL)
- {
+ if (data->cache != NULL) {
free(data->cache);
data->cache = NULL;
}
n = data->records;
- while (n)
- {
+ while (n) {
n1 = n;
n = n->next;
free(n1->name);
@@ -91,17 +86,16 @@ DLT_STATIC int dlt_logstorage_list_destroy(DltLogStorageFilterList **list,
DltLogStorageUserConfig *uconfig = NULL;
char *dev_path = NULL;
- while (*(list) != NULL)
- {
+ while (*(list) != NULL) {
tmp = *list;
*list = (*list)->next;
- if (tmp->key != NULL)
- {
+
+ if (tmp->key != NULL) {
free(tmp->key);
tmp->key = NULL;
}
- if (tmp->data != NULL)
- {
+
+ if (tmp->data != NULL) {
/* sync data if necessary */
/* ignore return value */
tmp->data->dlt_logstorage_sync(tmp->data,
@@ -114,6 +108,7 @@ DLT_STATIC int dlt_logstorage_list_destroy(DltLogStorageFilterList **list,
free(tmp->data);
tmp->data = NULL;
}
+
free(tmp);
tmp = NULL;
}
@@ -125,9 +120,7 @@ DLT_STATIC int dlt_logstorage_list_add_config(DltLogStorageFilterConfig *data,
DltLogStorageFilterConfig **listdata)
{
if (*(listdata) == NULL)
- {
return -1;
- }
(*listdata)->apids = NULL;
(*listdata)->ctids = NULL;
@@ -141,24 +134,16 @@ DLT_STATIC int dlt_logstorage_list_add_config(DltLogStorageFilterConfig *data,
memcpy(*listdata, data, sizeof(DltLogStorageFilterConfig));
if (data->apids != NULL)
- {
(*listdata)->apids = strdup(data->apids);
- }
if (data->ctids != NULL)
- {
(*listdata)->ctids = strdup(data->ctids);
- }
if (data->file_name != NULL)
- {
(*listdata)->file_name = strdup(data->file_name);
- }
if (data->ecuid != NULL)
- {
(*listdata)->ecuid = strdup(data->ecuid);
- }
return 0;
}
@@ -169,33 +154,28 @@ DLT_STATIC int dlt_logstorage_list_add(char *key,
{
DltLogStorageFilterList *tmp = NULL;
- while (*(list) != NULL)
- {
+ while (*(list) != NULL) {
/* if the key is already present then the data should be updated */
- if (strncmp((*list)->key, key, DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN) == 0)
- {
+ if (strncmp((*list)->key, key, DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN) == 0) {
if (dlt_logstorage_list_add_config(data, &((*list)->data)) != 0)
- {
return -1;
- }
+
return 0;
}
+
list = &(*list)->next;
}
tmp = calloc(1, sizeof(DltLogStorageFilterList));
if (tmp == NULL)
- {
return -1;
- }
tmp->key = strdup(key);
tmp->next = NULL;
tmp->data = calloc(1, sizeof(DltLogStorageFilterConfig));
- if (tmp->data == NULL)
- {
+ if (tmp->data == NULL) {
free(tmp->key);
free(tmp);
tmp->key = NULL;
@@ -203,8 +183,7 @@ DLT_STATIC int dlt_logstorage_list_add(char *key,
return -1;
}
- if (dlt_logstorage_list_add_config(data, &(tmp->data)) != 0)
- {
+ if (dlt_logstorage_list_add_config(data, &(tmp->data)) != 0) {
free(tmp->key);
free(tmp->data);
free(tmp);
@@ -222,16 +201,11 @@ DLT_STATIC int dlt_logstorage_list_add(char *key,
DLT_STATIC void *dlt_logstorage_list_find(char *key,
DltLogStorageFilterList **list)
{
- while (*(list) != NULL)
- {
+ while (*(list) != NULL) {
if (strncmp((*list)->key, key, DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN) == 0)
- {
return (*list)->data;
- }
else
- {
list = &(*list)->next;
- }
}
return NULL;
@@ -243,21 +217,16 @@ DLT_STATIC int dlt_logstorage_count_ids(const char *str)
{
if (str == NULL)
- {
return -1;
- }
- // delimiter is: ","
+ /* delimiter is: "," */
const char *p = str;
int i = 0;
int num = 1;
- while (p[i] != 0)
- {
+ while (p[i] != 0) {
if (p[i] == ',')
- {
num++;
- }
i++;
}
@@ -276,8 +245,7 @@ DLT_STATIC int dlt_logstorage_count_ids(const char *str)
*/
void dlt_logstorage_free(DltLogStorage *handle, int reason)
{
- if (handle == NULL)
- {
+ if (handle == NULL) {
dlt_vlog(LOG_ERR, "%s failed: handle is NULL\n", __func__);
return;
}
@@ -310,13 +278,10 @@ DLT_STATIC int dlt_logstorage_read_list_of_names(char **names, char *value)
int num = 1;
if ((names == NULL) || (value == NULL))
- {
return -1;
- }
/* free, alloce'd memory to store new apid/ctid */
- if (*names != NULL)
- {
+ if (*names != NULL) {
free(*names);
*names = NULL;
}
@@ -324,35 +289,29 @@ DLT_STATIC int dlt_logstorage_read_list_of_names(char **names, char *value)
len = strlen(value);
if (len == 0)
- {
return -1;
- }
/* count number of delimiters to get actual number off names */
num = dlt_logstorage_count_ids(value);
/* need to alloc space for 5 chars, 4 for the name and "," and "\0" */
*names = (char *)calloc(num * 5, sizeof(char));
+
if (*names == NULL)
- {
return -1;
- }
tok = strtok(value, ",");
i = 1;
- while (tok != NULL)
- {
+ while (tok != NULL) {
len = strlen(tok);
len = DLT_OFFLINE_LOGSTORAGE_MIN(len, 4);
strncpy((*names + y), tok, len);
if ((num > 1) && (i < num))
- {
strncpy((*names + y + len), ",", 1);
- }
y += len + 1;
@@ -383,32 +342,26 @@ DLT_STATIC int dlt_logstorage_read_number(unsigned int *number, char *value)
unsigned long size = 0;
if (value == NULL)
- {
return -1;
- }
*number = 0;
len = strlen(value);
/* check if string consists of digits only */
- for (i = 0 ; i < len ; i++)
- {
- if (isdigit(value[i] == 0))
- {
+ for (i = 0; i < len; i++)
+ if (isdigit(value[i] == 0)) {
dlt_log(LOG_ERR, "Invalid, is not a number \n");
return -1;
}
- }
size = strtoul(value, NULL, 10);
- if ((size == 0) || (size > UINT_MAX))
- {
+ if ((size == 0) || (size > UINT_MAX)) {
dlt_log(LOG_ERR, "Invalid, is not a number \n");
return -1;
}
- *number = (unsigned int) size;
+ *number = (unsigned int)size;
return 0;
}
@@ -426,7 +379,7 @@ DLT_STATIC int dlt_logstorage_read_number(unsigned int *number, char *value)
* @return: 0 on success, error on failure*
*/
DLT_STATIC int dlt_logstorage_get_keys_list(char *ids, char *sep, char **list,
- int *numids)
+ int *numids)
{
char *token = NULL;
char *tmp_token = NULL;
@@ -436,38 +389,38 @@ DLT_STATIC int dlt_logstorage_get_keys_list(char *ids, char *sep, char **list,
/* Duplicate the ids passed for using in strtok_r() */
ids_local = strdup(ids);
+
if (ids_local == NULL)
- {
return -1;
- }
token = strtok_r(ids_local, sep, &tmp_token);
- if (token == NULL)
- {
+
+ if (token == NULL) {
free(ids_local);
return -1;
}
- *list = (char *) calloc(DLT_OFFLINE_LOGSTORAGE_MAXIDS * (DLT_ID_SIZE + 1),
- sizeof(char));
- if (*(list) == NULL)
- {
+
+ *list = (char *)calloc(DLT_OFFLINE_LOGSTORAGE_MAXIDS * (DLT_ID_SIZE + 1),
+ sizeof(char));
+
+ if (*(list) == NULL) {
free(ids_local);
return -1;
}
- while (token != NULL )
- {
+ while (token != NULL) {
/* If it reached the max then other ids are ignored */
- if (*numids >= DLT_OFFLINE_LOGSTORAGE_MAXIDS)
- {
+ if (*numids >= DLT_OFFLINE_LOGSTORAGE_MAXIDS) {
free(ids_local);
return 0;
}
+
strncpy(((*list) + ((*numids) * (DLT_ID_SIZE + 1))), token,
DLT_ID_SIZE);
*numids = *numids + 1;
token = strtok_r(NULL, sep, &tmp_token);
}
+
free(ids_local);
return 0;
@@ -485,20 +438,19 @@ DLT_STATIC int dlt_logstorage_get_keys_list(char *ids, char *sep, char **list,
* @return None
*/
DLT_STATIC void dlt_logstorage_create_keys_only_ctid(char *ecuid, char *ctid,
- char *key)
+ char *key)
{
char curr_str[DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN + 1] = { 0 };
int curr_len = 0;
- if (ecuid != NULL)
- {
+ if (ecuid != NULL) {
strncpy(curr_str, ecuid, strlen(ecuid));
strncat(curr_str, "::", 2);
}
- else
- {
+ else {
strncpy(curr_str, "::", 2);
}
+
curr_len = strlen(ctid);
strncat(curr_str, ctid, curr_len);
curr_len = strlen(curr_str);
@@ -518,20 +470,19 @@ DLT_STATIC void dlt_logstorage_create_keys_only_ctid(char *ecuid, char *ctid,
* @return None
*/
DLT_STATIC void dlt_logstorage_create_keys_only_apid(char *ecuid, char *apid,
- char *key)
+ char *key)
{
char curr_str[DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN + 1] = { 0 };
int curr_len = 0;
- if (ecuid != NULL)
- {
+ if (ecuid != NULL) {
strncpy(curr_str, ecuid, strlen(ecuid));
strncat(curr_str, ":", 1);
}
- else
- {
+ else {
strncpy(curr_str, ":", 1);
}
+
curr_len = strlen(apid);
strncat(curr_str, apid, curr_len);
strncat(curr_str, ":", 1);
@@ -553,20 +504,19 @@ DLT_STATIC void dlt_logstorage_create_keys_only_apid(char *ecuid, char *apid,
* @return None
*/
DLT_STATIC void dlt_logstorage_create_keys_multi(char *ecuid, char *apid,
- char *ctid, char *key)
+ char *ctid, char *key)
{
char curr_str[DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN + 1] = { 0 };
int curr_len = 0;
- if (ecuid != NULL)
- {
+ if (ecuid != NULL) {
strncpy(curr_str, ecuid, strlen(ecuid));
strncat(curr_str, ":", 1);
}
- else
- {
+ else {
strncpy(curr_str, ":", 1);
}
+
curr_len = strlen(apid);
strncat(curr_str, apid, curr_len);
strncat(curr_str, ":", 1);
@@ -625,10 +575,10 @@ DLT_STATIC void dlt_logstorage_create_keys_only_ecu(char *ecuid, char *key)
* @return: 0 on success, error on failure*
*/
DLT_STATIC int dlt_logstorage_create_keys(char *apids,
- char *ctids,
- char *ecuid,
- char **keys,
- int *num_keys)
+ char *ctids,
+ char *ecuid,
+ char **keys,
+ int *num_keys)
{
int i, j;
int num_apids = 0;
@@ -641,35 +591,32 @@ DLT_STATIC int dlt_logstorage_create_keys(char *apids,
int num_currkey = 0;
/* Handle ecuid alone case here */
- if ((apids == NULL) && (ctids == NULL) && (ecuid != NULL))
- {
+ if ((apids == NULL) && (ctids == NULL) && (ecuid != NULL)) {
dlt_logstorage_create_keys_only_ecu(ecuid, curr_key);
*(num_keys) = 1;
- *(keys) = (char *) calloc(*num_keys * DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN,
- sizeof(char));
+ *(keys) = (char *)calloc(*num_keys * DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN,
+ sizeof(char));
+
if (*(keys) == NULL)
- {
return -1;
- }
+
strncpy(*keys, curr_key, strlen(curr_key));
return 0;
}
- if ((apids == NULL) || (ctids == NULL))
- {
- dlt_log(LOG_ERR,"Required inputs (apid and ctid) are NULL\n");
+ if ((apids == NULL) || (ctids == NULL)) {
+ dlt_log(LOG_ERR, "Required inputs (apid and ctid) are NULL\n");
return -1;
}
/* obtain key list and number of keys for application ids */
- if (dlt_logstorage_get_keys_list(apids, ",", &apid_list, &num_apids) != 0)
- {
+ if (dlt_logstorage_get_keys_list(apids, ",", &apid_list, &num_apids) != 0) {
dlt_log(LOG_ERR, "Failed to obtain appid, check configuration file \n");
return -1;
}
+
/* obtain key list and number of keys for context ids */
- if (dlt_logstorage_get_keys_list(ctids, ",", &ctid_list, &num_ctids) != 0)
- {
+ if (dlt_logstorage_get_keys_list(ctids, ",", &ctid_list, &num_ctids) != 0) {
dlt_log(LOG_ERR, "Failed to obtain ctid, check configuration file \n");
free(apid_list);
return -1;
@@ -678,40 +625,36 @@ DLT_STATIC int dlt_logstorage_create_keys(char *apids,
*(num_keys) = num_apids * num_ctids;
/* allocate memory for needed number of keys */
- *(keys) = (char *) calloc(*num_keys * DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN,
- sizeof(char));
- if (*(keys) == NULL)
- {
+ *(keys) = (char *)calloc(*num_keys * DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN,
+ sizeof(char));
+
+ if (*(keys) == NULL) {
free(apid_list);
free(ctid_list);
return -1;
}
/* store all combinations of apid ctid in keys */
- for (i = 0; i < num_apids; i++)
- {
+ for (i = 0; i < num_apids; i++) {
curr_apid = apid_list + (i * (DLT_ID_SIZE + 1));
- for (j = 0; j < num_ctids; j++)
- {
+
+ for (j = 0; j < num_ctids; j++) {
curr_ctid = ctid_list + (j * (DLT_ID_SIZE + 1));
+
if (strncmp(curr_apid, ".*", 2) == 0) /* only context id matters */
- {
dlt_logstorage_create_keys_only_ctid(ecuid, curr_ctid, curr_key);
- }
else if (strncmp(curr_ctid, ".*", 2) == 0) /* only app id matters*/
- {
dlt_logstorage_create_keys_only_apid(ecuid, curr_apid, curr_key);
- }
else /* key is combination of all */
- {
dlt_logstorage_create_keys_multi(ecuid, curr_apid, curr_ctid, curr_key);
- }
+
strncpy((*keys + (num_currkey * DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN)),
curr_key, strlen(curr_key));
num_currkey += 1;
memset(&curr_key[0], 0, sizeof(curr_key));
}
}
+
free(apid_list);
free(ctid_list);
@@ -728,15 +671,14 @@ DLT_STATIC int dlt_logstorage_create_keys(char *apids,
* @return 0 on success, -1 on error
*/
DLT_STATIC int dlt_logstorage_prepare_table(DltLogStorage *handle,
- DltLogStorageFilterConfig *data)
+ DltLogStorageFilterConfig *data)
{
int ret = 0;
int num_keys = 0;
char *keys = NULL;
int idx = 0;
- if ((handle == NULL) || (data == NULL))
- {
+ if ((handle == NULL) || (data == NULL)) {
dlt_vlog(LOG_ERR, "Invalid parameters in %s\n", __func__);
return -1;
}
@@ -747,19 +689,16 @@ DLT_STATIC int dlt_logstorage_prepare_table(DltLogStorage *handle,
&keys,
&num_keys);
- if (ret != 0)
- {
+ if (ret != 0) {
dlt_log(LOG_ERR, "Not able to create keys for hash table\n");
return -1;
}
/* hash_add */
- for (idx = 0 ; idx < num_keys ; idx++)
- {
+ for (idx = 0; idx < num_keys; idx++) {
if (dlt_logstorage_list_add(keys + (idx * DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN),
data,
- &(handle->config_list)) != 0)
- {
+ &(handle->config_list)) != 0) {
dlt_log(LOG_ERR,
"Adding to hash table failed, returning failure\n");
@@ -795,78 +734,61 @@ DLT_STATIC int dlt_logstorage_validate_filter_name(char *name)
int control_sec_len = strlen(DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_CONTROL_SECTION);
if (name == NULL)
- {
return -1;
- }
len = strlen(name);
-
+
/* Check if section header is of format "FILTER" followed by a number */
if (strncmp(name,
DLT_OFFLINE_LOGSTORAGE_CONFIG_SECTION,
- config_sec_len) == 0)
- {
+ config_sec_len) == 0) {
for (idx = config_sec_len; idx < len - 1; idx++)
- {
if (!isdigit(name[idx]))
- {
return -1;
- }
- }
+
return 0;
}
/* Check if section header is of format "FILTER" followed by a number */
else if (strncmp(name,
- DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_STORAGE_SECTION,
- storage_sec_len) == 0)
+ DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_STORAGE_SECTION,
+ storage_sec_len) == 0)
{
for (idx = storage_sec_len; idx < len - 1; idx++)
- {
if (!isdigit(name[idx]))
- {
return -1;
- }
- }
+
return 0;
}
/* Check if section header is of format "FILTER" followed by a number */
else if (strncmp(name,
- DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_CONTROL_SECTION,
- control_sec_len) == 0)
+ DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_CONTROL_SECTION,
+ control_sec_len) == 0)
{
for (idx = control_sec_len; idx < len - 1; idx++)
- {
if (!isdigit(name[idx]))
- {
return -1;
- }
- }
+
return 0;
}
- else
- {
+ else {
return -1;
}
}
DLT_STATIC void dlt_logstorage_filter_set_strategy(DltLogStorageFilterConfig *config,
- int strategy)
+ int strategy)
{
if (config == NULL)
- {
return;
- }
/* file based */
if ((strategy == DLT_LOGSTORAGE_SYNC_ON_MSG) ||
- (strategy == DLT_LOGSTORAGE_SYNC_UNSET))
- {
+ (strategy == DLT_LOGSTORAGE_SYNC_UNSET)) {
config->dlt_logstorage_prepare = &dlt_logstorage_prepare_on_msg;
config->dlt_logstorage_write = &dlt_logstorage_write_on_msg;
config->dlt_logstorage_sync = &dlt_logstorage_sync_on_msg;
}
- else /* cache based */
- {
+ else { /* cache based */
config->dlt_logstorage_prepare = &dlt_logstorage_prepare_msg_cache;
config->dlt_logstorage_write = &dlt_logstorage_write_msg_cache;
config->dlt_logstorage_sync = &dlt_logstorage_sync_msg_cache;
@@ -874,10 +796,9 @@ DLT_STATIC void dlt_logstorage_filter_set_strategy(DltLogStorageFilterConfig *co
}
DLT_STATIC int dlt_logstorage_check_apids(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
- if ((config == NULL) || (value == NULL))
- {
+ if ((config == NULL) || (value == NULL)) {
dlt_log(LOG_ERR, "Not able to create keys for hash table\n");
return -1;
}
@@ -886,32 +807,26 @@ DLT_STATIC int dlt_logstorage_check_apids(DltLogStorageFilterConfig *config,
}
DLT_STATIC int dlt_logstorage_check_ctids(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
return dlt_logstorage_read_list_of_names(&config->ctids, value);
}
DLT_STATIC int dlt_logstorage_check_loglevel(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
- if (value == NULL)
- {
+ if (value == NULL) {
config->log_level = 0;
return -1;
}
- if (strcmp(value, "DLT_LOG_FATAL") == 0)
- {
+ if (strcmp(value, "DLT_LOG_FATAL") == 0) {
config->log_level = 1;
}
else if (strcmp(value, "DLT_LOG_ERROR") == 0)
@@ -934,8 +849,7 @@ DLT_STATIC int dlt_logstorage_check_loglevel(DltLogStorageFilterConfig *config,
{
config->log_level = 6;
}
- else
- {
+ else {
config->log_level = -1;
dlt_log(LOG_ERR, "Invalid log level \n");
return -1;
@@ -945,21 +859,17 @@ DLT_STATIC int dlt_logstorage_check_loglevel(DltLogStorageFilterConfig *config,
}
DLT_STATIC int dlt_logstorage_check_reset_loglevel(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if (config == NULL)
- {
return -1;
- }
- if (value == NULL)
- {
+ if (value == NULL) {
config->reset_log_level = 0;
return -1;
}
- if (strcmp(value, "DLT_LOG_OFF") == 0)
- {
+ if (strcmp(value, "DLT_LOG_OFF") == 0) {
config->reset_log_level = DLT_LOG_OFF;
}
else if (strcmp(value, "DLT_LOG_FATAL") == 0)
@@ -986,8 +896,7 @@ DLT_STATIC int dlt_logstorage_check_reset_loglevel(DltLogStorageFilterConfig *co
{
config->reset_log_level = DLT_LOG_VERBOSE;
}
- else
- {
+ else {
config->reset_log_level = -1;
dlt_log(LOG_ERR, "Invalid log level \n");
return -1;
@@ -997,17 +906,14 @@ DLT_STATIC int dlt_logstorage_check_reset_loglevel(DltLogStorageFilterConfig *co
}
DLT_STATIC int dlt_logstorage_check_filename(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
int len;
if ((value == NULL) || (strcmp(value, "") == 0))
- {
return -1;
- }
- if (config->file_name != NULL)
- {
+ if (config->file_name != NULL) {
free(config->file_name);
config->file_name = NULL;
}
@@ -1015,19 +921,18 @@ DLT_STATIC int dlt_logstorage_check_filename(DltLogStorageFilterConfig *config,
len = strlen(value);
/* do not allow the user to change directory by adding a relative path */
- if (strstr(value, "..") == NULL)
- {
+ if (strstr(value, "..") == NULL) {
config->file_name = calloc((len + 1), sizeof(char));
- if (config->file_name == NULL)
- {
+
+ if (config->file_name == NULL) {
dlt_log(LOG_ERR,
"Cannot allocate memory for filename\n");
return -1;
}
+
strncpy(config->file_name, value, len);
}
- else
- {
+ else {
dlt_log(LOG_ERR,
"Invalid filename, paths not accepted due to security issues\n");
return -1;
@@ -1037,34 +942,29 @@ DLT_STATIC int dlt_logstorage_check_filename(DltLogStorageFilterConfig *config,
}
DLT_STATIC int dlt_logstorage_check_filesize(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
return dlt_logstorage_read_number(&config->file_size, value);
}
DLT_STATIC int dlt_logstorage_check_nofiles(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
return dlt_logstorage_read_number(&config->num_files, value);
}
DLT_STATIC int dlt_logstorage_check_specificsize(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
+
return dlt_logstorage_read_number(&config->specific_size, value);
}
@@ -1081,47 +981,33 @@ DLT_STATIC int dlt_logstorage_check_specificsize(DltLogStorageFilterConfig *conf
* @return 0 on success, -1 on error
*/
DLT_STATIC int dlt_logstorage_check_sync_strategy(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
- if (strcasestr(value, "ON_MSG") != NULL)
- {
+ if (strcasestr(value, "ON_MSG") != NULL) {
config->sync = DLT_LOGSTORAGE_SYNC_ON_MSG;
dlt_log(LOG_DEBUG, "ON_MSG found, ignore other if added\n");
}
- else /* ON_MSG not set, combination of cache based strategies possible */
- {
+ else { /* ON_MSG not set, combination of cache based strategies possible */
+
if (strcasestr(value, "ON_DAEMON_EXIT") != NULL)
- {
config->sync |= DLT_LOGSTORAGE_SYNC_ON_DAEMON_EXIT;
- }
if (strcasestr(value, "ON_DEMAND") != NULL)
- {
config->sync |= DLT_LOGSTORAGE_SYNC_ON_DEMAND;
- }
if (strcasestr(value, "ON_DEVICE_DISCONNECT") != NULL)
- {
config->sync |= DLT_LOGSTORAGE_SYNC_ON_DEVICE_DISCONNECT;
- }
if (strcasestr(value, "ON_SPECIFIC_SIZE") != NULL)
- {
config->sync |= DLT_LOGSTORAGE_SYNC_ON_SPECIFIC_SIZE;
- }
if (strcasestr(value, "ON_FILE_SIZE") != NULL)
- {
config->sync |= DLT_LOGSTORAGE_SYNC_ON_FILE_SIZE;
- }
- if (config->sync == 0)
- {
+ if (config->sync == 0) {
dlt_log(LOG_WARNING,
"Unknown sync strategies. Set default ON_MSG\n");
config->sync = DLT_LOGSTORAGE_SYNC_ON_MSG;
@@ -1142,27 +1028,24 @@ DLT_STATIC int dlt_logstorage_check_sync_strategy(DltLogStorageFilterConfig *con
* @return 0 on success, -1 on error
*/
DLT_STATIC int dlt_logstorage_check_ecuid(DltLogStorageFilterConfig *config,
- char *value)
+ char *value)
{
int len;
if ((config == NULL) || (value == NULL) || (value[0] == '\0'))
- {
return -1;
- }
- if (config->ecuid != NULL)
- {
+ if (config->ecuid != NULL) {
free(config->ecuid);
config->ecuid = NULL;
}
len = strlen(value);
config->ecuid = calloc((len + 1), sizeof(char));
+
if (config->ecuid == NULL)
- {
return -1;
- }
+
strncpy(config->ecuid, value, len);
return 0;
@@ -1216,9 +1099,9 @@ DLT_STATIC DltLogstorageFilterConf
.is_opt = 1
},
[DLT_LOGSTORAGE_FILTER_CONF_SPECIFIC_SIZE] = {
- .key = "SpecificSize",
- .func = dlt_logstorage_check_specificsize,
- .is_opt = 1
+ .key = "SpecificSize",
+ .func = dlt_logstorage_check_specificsize,
+ .is_opt = 1
}
};
@@ -1271,14 +1154,14 @@ DLT_STATIC DltLogstorageFilterConf
.is_opt = 0
},
[DLT_LOGSTORAGE_FILTER_CONF_SPECIFIC_SIZE] = {
- .key = NULL,
- .func = dlt_logstorage_check_specificsize,
- .is_opt = 1
+ .key = NULL,
+ .func = dlt_logstorage_check_specificsize,
+ .is_opt = 1
}
};
DLT_STATIC DltLogstorageFilterConf
-filter_nonverbose_control_entries[DLT_LOGSTORAGE_FILTER_CONF_COUNT] = {
+ filter_nonverbose_control_entries[DLT_LOGSTORAGE_FILTER_CONF_COUNT] = {
[DLT_LOGSTORAGE_FILTER_CONF_LOGAPPNAME] = {
.key = "LogAppName",
.func = dlt_logstorage_check_apids,
@@ -1339,26 +1222,22 @@ filter_nonverbose_control_entries[DLT_LOGSTORAGE_FILTER_CONF_COUNT] = {
* @return 0 on success, -1 otherwise
*/
DLT_STATIC int dlt_logstorage_check_param(DltLogStorageFilterConfig *config,
- DltLogstorageFilterConfType ctype,
- char *value)
+ DltLogstorageFilterConfType ctype,
+ char *value)
{
if ((config == NULL) || (value == NULL))
- {
return -1;
- }
if (ctype < DLT_LOGSTORAGE_FILTER_CONF_COUNT)
- {
return filter_cfg_entries[ctype].func(config, value);
- }
return -1;
}
DLT_STATIC int dlt_logstorage_get_filter_value(DltConfigFile *config_file,
- char *sec_name,
- int index,
- char *value)
+ char *sec_name,
+ int index,
+ char *value)
{
int ret = 0;
int config_sec_len = strlen(DLT_OFFLINE_LOGSTORAGE_CONFIG_SECTION);
@@ -1366,38 +1245,31 @@ DLT_STATIC int dlt_logstorage_get_filter_value(DltConfigFile *config_file,
int control_sec_len = strlen(DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_CONTROL_SECTION);
if ((config_file == NULL) || (sec_name == NULL))
- {
return DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR;
- }
/* Branch based on section name, no complete string compare needed */
if (strncmp(sec_name,
DLT_OFFLINE_LOGSTORAGE_CONFIG_SECTION,
- config_sec_len) == 0)
- {
- if (filter_cfg_entries[index].key != NULL)
- {
+ config_sec_len) == 0) {
+ if (filter_cfg_entries[index].key != NULL) {
ret = dlt_config_file_get_value(config_file, sec_name,
filter_cfg_entries[index].key,
value);
- if ((ret != 0) && (filter_cfg_entries[index].is_opt == 0))
- {
+ if ((ret != 0) && (filter_cfg_entries[index].is_opt == 0)) {
dlt_vlog(LOG_WARNING,
- "Invalid configuration in section: %s -> %s : %s\n",
- sec_name, filter_cfg_entries[index].key, value);
+ "Invalid configuration in section: %s -> %s : %s\n",
+ sec_name, filter_cfg_entries[index].key, value);
return DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR;
}
- if ((ret != 0) && (filter_cfg_entries[index].is_opt == 1))
- {
+ if ((ret != 0) && (filter_cfg_entries[index].is_opt == 1)) {
dlt_vlog(LOG_DEBUG, "Optional parameter %s not specified\n",
- filter_cfg_entries[index].key);
+ filter_cfg_entries[index].key);
return DLT_OFFLINE_LOGSTORAGE_FILTER_CONTINUE;
}
}
- else
- {
+ else {
return DLT_OFFLINE_LOGSTORAGE_FILTER_CONTINUE;
}
}
@@ -1405,20 +1277,17 @@ DLT_STATIC int dlt_logstorage_get_filter_value(DltConfigFile *config_file,
DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_STORAGE_SECTION,
storage_sec_len) == 0)
{
- if (filter_nonverbose_storage_entries[index].key != NULL)
- {
+ if (filter_nonverbose_storage_entries[index].key != NULL) {
if (dlt_config_file_get_value(config_file, sec_name,
- filter_nonverbose_storage_entries[index].key, value) != 0)
- {
+ filter_nonverbose_storage_entries[index].key, value) != 0) {
dlt_vlog(LOG_WARNING,
- "Invalid configuration in section: %s -> %s : %s\n",
- sec_name, filter_nonverbose_storage_entries[index].key,
- value);
+ "Invalid configuration in section: %s -> %s : %s\n",
+ sec_name, filter_nonverbose_storage_entries[index].key,
+ value);
return DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR;
}
}
- else
- {
+ else {
return DLT_OFFLINE_LOGSTORAGE_FILTER_CONTINUE;
}
}
@@ -1426,25 +1295,21 @@ DLT_STATIC int dlt_logstorage_get_filter_value(DltConfigFile *config_file,
DLT_OFFLINE_LOGSTORAGE_NONVERBOSE_CONTROL_SECTION,
control_sec_len) == 0))
{
- if (filter_nonverbose_control_entries[index].key != NULL)
- {
+ if (filter_nonverbose_control_entries[index].key != NULL) {
if (dlt_config_file_get_value(config_file, sec_name,
- filter_nonverbose_control_entries[index].key, value) != 0)
- {
+ filter_nonverbose_control_entries[index].key, value) != 0) {
dlt_vlog(LOG_WARNING,
- "Invalid configuration in section: %s -> %s : %s\n",
- sec_name, filter_nonverbose_control_entries[index].key,
- value);
+ "Invalid configuration in section: %s -> %s : %s\n",
+ sec_name, filter_nonverbose_control_entries[index].key,
+ value);
return DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR;
}
}
- else
- {
+ else {
return DLT_OFFLINE_LOGSTORAGE_FILTER_CONTINUE;
}
}
- else
- {
+ else {
dlt_log(LOG_ERR, "Error: Section name not valid \n");
return DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR;
}
@@ -1462,8 +1327,8 @@ DLT_STATIC int dlt_logstorage_setup_table(DltLogStorage *handle,
dlt_logstorage_filter_set_strategy(tmp_data, tmp_data->sync);
ret = dlt_logstorage_prepare_table(handle, tmp_data);
- if (ret != 0)
- {
+
+ if (ret != 0) {
dlt_vlog(LOG_ERR, "%s Error: Storing filter values failed\n",
__func__);
ret = DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR;
@@ -1472,23 +1337,21 @@ DLT_STATIC int dlt_logstorage_setup_table(DltLogStorage *handle,
return ret;
}
/*Return :
- DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR - On filter properties or value is not valid
- DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR - On error while storing in hash table
+ * DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR - On filter properties or value is not valid
+ * DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR - On error while storing in hash table
*/
DLT_STATIC int dlt_daemon_offline_setup_filter_properties(DltLogStorage *handle,
- DltConfigFile *config_file,
- char *sec_name)
+ DltConfigFile *config_file,
+ char *sec_name)
{
DltLogStorageFilterConfig tmp_data;
- char value[DLT_CONFIG_FILE_ENTRY_MAX_LEN + 1] = {'\0'};
+ char value[DLT_CONFIG_FILE_ENTRY_MAX_LEN + 1] = { '\0' };
int i = 0;
int ret = 0;
if ((handle == NULL) || (config_file == NULL) || (sec_name == NULL))
- {
return DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR;
- }
memset(&tmp_data, 0, sizeof(DltLogStorageFilterConfig));
tmp_data.apids = NULL;
@@ -1501,60 +1364,52 @@ DLT_STATIC int dlt_daemon_offline_setup_filter_properties(DltLogStorage *handle,
tmp_data.log = NULL;
tmp_data.cache = NULL;
- for (i = 0 ; i < DLT_LOGSTORAGE_FILTER_CONF_COUNT ; i++)
- {
+ for (i = 0; i < DLT_LOGSTORAGE_FILTER_CONF_COUNT; i++) {
ret = dlt_logstorage_get_filter_value(config_file, sec_name, i, value);
+
if (ret == DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR)
- {
return ret;
- }
if (ret == DLT_OFFLINE_LOGSTORAGE_FILTER_CONTINUE)
- {
continue;
- }
/* check value and store temporary */
ret = dlt_logstorage_check_param(&tmp_data, i, value);
- if (ret != 0)
- {
- if (tmp_data.apids != NULL)
- {
+
+ if (ret != 0) {
+ if (tmp_data.apids != NULL) {
free(tmp_data.apids);
tmp_data.apids = NULL;
}
- if (tmp_data.ctids != NULL)
- {
+ if (tmp_data.ctids != NULL) {
free(tmp_data.ctids);
tmp_data.ctids = NULL;
}
- if (tmp_data.file_name != NULL)
- {
+ if (tmp_data.file_name != NULL) {
free(tmp_data.file_name);
tmp_data.file_name = NULL;
}
- if (tmp_data.ecuid != NULL)
- {
+ if (tmp_data.ecuid != NULL) {
free(tmp_data.ecuid);
tmp_data.ecuid = NULL;
}
-
+
return DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR;
}
}
+
/* filter configuration is valid */
ret = dlt_logstorage_setup_table(handle, &tmp_data);
- if (ret != 0)
- {
+
+ if (ret != 0) {
dlt_vlog(LOG_ERR, "%s Error: Storing filter values failed\n",
__func__);
ret = DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR;
}
- else /* move to next free filter configuration, if no error occurred */
- {
+ else { /* move to next free filter configuration, if no error occurred */
handle->num_configs += 1;
/* free tmp_data */
@@ -1576,7 +1431,7 @@ DLT_STATIC int dlt_daemon_offline_setup_filter_properties(DltLogStorage *handle,
*
*/
DLT_STATIC int dlt_logstorage_store_filters(DltLogStorage *handle,
- char *config_file_name)
+ char *config_file_name)
{
DltConfigFile *config = NULL;
int sec = 0;
@@ -1586,43 +1441,38 @@ DLT_STATIC int dlt_logstorage_store_filters(DltLogStorage *handle,
* filter configuration is valid and stored */
int valid = -1;
- if (config_file_name == NULL)
- {
+ if (config_file_name == NULL) {
dlt_vlog(LOG_ERR, "%s unexpected parameter received\n", __func__);
return -1;
}
config = dlt_config_file_init(config_file_name);
- if (config == NULL)
- {
+ if (config == NULL) {
dlt_log(LOG_CRIT, "Failed to open filter configuration file\n");
return -1;
}
dlt_config_file_get_num_sections(config, &num_sec);
- for (sec = 0 ; sec < num_sec ; sec++)
- {
+ for (sec = 0; sec < num_sec; sec++) {
char sec_name[DLT_CONFIG_FILE_ENTRY_MAX_LEN + 1];
- if (dlt_config_file_get_section_name(config, sec, sec_name) == -1)
- {
+ if (dlt_config_file_get_section_name(config, sec, sec_name) == -1) {
dlt_log(LOG_CRIT, "Failed to read section name\n");
dlt_config_file_release(config);
return -1;
}
- if (strstr(sec_name, GENERAL_BASE_NAME) != NULL)
- {
- dlt_log(LOG_CRIT, "General configuration not supported \n");
- continue;
+ if (strstr(sec_name, GENERAL_BASE_NAME) != NULL) {
+ dlt_log(LOG_CRIT, "General configuration not supported \n");
+ continue;
}
else if (dlt_logstorage_validate_filter_name(sec_name) == 0)
{
ret = dlt_daemon_offline_setup_filter_properties(handle, config, sec_name);
- if (ret == DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR)
- {
+
+ if (ret == DLT_OFFLINE_LOGSTORAGE_STORE_FILTER_ERROR) {
break;
}
else if (ret == DLT_OFFLINE_LOGSTORAGE_FILTER_ERROR)
@@ -1635,17 +1485,11 @@ DLT_STATIC int dlt_logstorage_store_filters(DltLogStorage *handle,
continue;
}
else
- {
- /* Filter properties read and stored successfuly */
- if (valid != 1)
- {
- valid = 0;
- }
-
- }
+ /* Filter properties read and stored successfuly */
+ if (valid != 1)
+ valid = 0;
}
- else /* unknown section */
- {
+ else { /* unknown section */
dlt_vlog(LOG_WARNING, "Unknown section: %s", sec_name);
}
}
@@ -1671,22 +1515,19 @@ DLT_STATIC int dlt_logstorage_store_filters(DltLogStorage *handle,
*/
DLT_STATIC int dlt_logstorage_load_config(DltLogStorage *handle)
{
- char config_file_name[PATH_MAX + 1] = {'\0'};
+ char config_file_name[PATH_MAX + 1] = { '\0' };
int ret = 0;
/* Check if handle is NULL or already initialized or already configured */
if ((handle == NULL) ||
(handle->connection_type != DLT_OFFLINE_LOGSTORAGE_DEVICE_CONNECTED))
- {
return -1;
- }
/* Check if this device config was already setup */
- if (handle->config_status == DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE)
- {
+ if (handle->config_status == DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE) {
dlt_vlog(LOG_ERR,
- "%s: Device already configured. Send disconnect first.\n",
- __func__);
+ "%s: Device already configured. Send disconnect first.\n",
+ __func__);
return -1;
}
@@ -1694,16 +1535,15 @@ DLT_STATIC int dlt_logstorage_load_config(DltLogStorage *handle)
PATH_MAX,
"%s/%s",
handle->device_mount_point,
- DLT_OFFLINE_LOGSTORAGE_CONFIG_FILE_NAME) < 0)
- {
+ DLT_OFFLINE_LOGSTORAGE_CONFIG_FILE_NAME) < 0) {
dlt_log(LOG_ERR,
"Creating configuration file path string failed\n");
return -1;
}
ret = dlt_logstorage_store_filters(handle, config_file_name);
- if (ret == 1)
- {
+
+ if (ret == 1) {
handle->config_status = DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE;
return 1;
}
@@ -1730,14 +1570,12 @@ DLT_STATIC int dlt_logstorage_load_config(DltLogStorage *handle)
*/
int dlt_logstorage_device_connected(DltLogStorage *handle, char *mount_point)
{
- if ((handle == NULL) || (mount_point == NULL))
- {
+ if ((handle == NULL) || (mount_point == NULL)) {
dlt_log(LOG_ERR, "Handle error \n");
return -1;
}
- if (handle->connection_type == DLT_OFFLINE_LOGSTORAGE_DEVICE_CONNECTED)
- {
+ if (handle->connection_type == DLT_OFFLINE_LOGSTORAGE_DEVICE_CONNECTED) {
dlt_log(LOG_WARNING,
"Device already connected. Send disconnect, connect request\n");
@@ -1769,15 +1607,11 @@ int dlt_logstorage_device_connected(DltLogStorage *handle, char *mount_point)
int dlt_logstorage_device_disconnected(DltLogStorage *handle, int reason)
{
if (handle == NULL)
- {
return -1;
- }
/* If configuration loading was done, free it */
if (handle->config_status == DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE)
- {
dlt_logstorage_free(handle, reason);
- }
/* Reset all device status */
memset(handle->device_mount_point, '\0', sizeof(char) * DLT_MOUNT_PATH_MAX);
@@ -1810,15 +1644,12 @@ int dlt_logstorage_get_loglevel_by_key(DltLogStorage *handle, char *key)
(key == NULL) ||
(handle->connection_type != DLT_OFFLINE_LOGSTORAGE_DEVICE_CONNECTED) ||
(handle->config_status != DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE))
- {
return -1;
- }
config = (DltLogStorageFilterConfig *)
dlt_logstorage_list_find(key, &(handle->config_list));
- if (config == NULL)
- {
+ if (config == NULL) {
dlt_vlog(LOG_WARNING, "Configuration for key [%s] not found!\n", key);
return -1;
}
@@ -1847,7 +1678,8 @@ int dlt_logstorage_get_config(DltLogStorage *handle,
char *ecuid)
{
DltLogStorageFilterConfig *ptr_config = NULL;
- char key[DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS][DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN] = {{'\0'}, {'\0'}, {'\0'}};
+ char key[DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS][DLT_OFFLINE_LOGSTORAGE_MAX_KEY_LEN] =
+ { { '\0' }, { '\0' }, { '\0' } };
int i = 0;
int apid_len = 0;
int ctid_len = 0;
@@ -1859,55 +1691,49 @@ int dlt_logstorage_get_config(DltLogStorage *handle,
(handle->connection_type != DLT_OFFLINE_LOGSTORAGE_DEVICE_CONNECTED) ||
(handle->config_status != DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE) ||
(ecuid == NULL))
- {
return 0;
- }
/* Prepare possible keys with
* Possible combinations are
* ecu::
- ecu:apid:ctid
- :apid:ctid
- ecu::ctid
- ecu:apid:
- ::ctid
- :apid: */
+ * ecu:apid:ctid
+ * :apid:ctid
+ * ecu::ctid
+ * ecu:apid:
+ * ::ctid
+ * :apid: */
ecuid_len = strlen(ecuid);
+
if (ecuid_len > DLT_ID_SIZE)
- {
ecuid_len = DLT_ID_SIZE;
- }
- if ((apid == NULL) && (ctid == NULL))
- {
+ if ((apid == NULL) && (ctid == NULL)) {
/* ecu:: */
strncpy(key[0], ecuid, ecuid_len);
strncat(key[0], ":", 1);
strncat(key[0], ":", 1);
- ptr_config = (DltLogStorageFilterConfig *) dlt_logstorage_list_find(
- key[0], &(handle->config_list));
+ ptr_config = (DltLogStorageFilterConfig *)dlt_logstorage_list_find(
+ key[0], &(handle->config_list));
- if (ptr_config != NULL)
- {
+ if (ptr_config != NULL) {
config[num] = ptr_config;
num += 1;
}
+
return num;
}
apid_len = strlen(apid);
+
if (apid_len > DLT_ID_SIZE)
- {
apid_len = DLT_ID_SIZE;
- }
ctid_len = strlen(ctid);
+
if (ctid_len > DLT_ID_SIZE)
- {
ctid_len = DLT_ID_SIZE;
- }
/* :apid: */
strncpy(key[0], ":", 1);
@@ -1950,13 +1776,11 @@ int dlt_logstorage_get_config(DltLogStorage *handle,
strncat(key[6], ":", 1);
/* Search the list three times with keys as -apid: , :ctid and apid:ctid */
- for (i = 0; i < DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS; i++)
- {
+ for (i = 0; i < DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS; i++) {
ptr_config = (DltLogStorageFilterConfig *)
dlt_logstorage_list_find(key[i], &(handle->config_list));
- if (ptr_config != NULL)
- {
+ if (ptr_config != NULL) {
config[num] = ptr_config;
num += 1;
}
@@ -1983,50 +1807,40 @@ int dlt_logstorage_get_config(DltLogStorage *handle,
* @return number of found configurations
*/
DLT_STATIC int dlt_logstorage_filter(DltLogStorage *handle,
- DltLogStorageFilterConfig **config,
- char *apid,
- char *ctid,
- char *ecuid,
- int log_level)
+ DltLogStorageFilterConfig **config,
+ char *apid,
+ char *ctid,
+ char *ecuid,
+ int log_level)
{
int i = 0;
int num = 0;
if ((handle == NULL) || (config == NULL) || (ecuid == NULL))
- {
return -1;
- }
/* filter on names: find DltLogStorageFilterConfig structures */
num = dlt_logstorage_get_config(handle, config, apid, ctid, ecuid);
- if (num == 0)
- {
+ if (num == 0) {
dlt_log(LOG_DEBUG, "No valid filter configuration found\n");
return 0;
}
- for (i = 0 ; i < DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS ; i++)
- {
+ for (i = 0; i < DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS; i++) {
if (config[i] == NULL)
- {
continue;
- }
/* filter on log level */
- if (log_level > config[i]->log_level)
- {
+ if (log_level > config[i]->log_level) {
config[i] = NULL;
continue;
}
/* filter on ECU id only if EcuID is set */
- if (config[i]->ecuid != NULL)
- {
+ if (config[i]->ecuid != NULL) {
if (strncmp(ecuid, config[i]->ecuid, DLT_ID_SIZE) != 0)
- {
config[i] = NULL;
- }
}
}
@@ -2056,7 +1870,7 @@ int dlt_logstorage_write(DltLogStorage *handle,
unsigned char *data3,
int size3)
{
- DltLogStorageFilterConfig *config[DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS] = {0};
+ DltLogStorageFilterConfig *config[DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS] = { 0 };
int i = 0;
int ret = 0;
int num = 0;
@@ -2075,63 +1889,52 @@ int dlt_logstorage_write(DltLogStorage *handle,
(data1 == NULL) || (data2 == NULL) || (data3 == NULL) ||
(handle->connection_type != DLT_OFFLINE_LOGSTORAGE_DEVICE_CONNECTED) ||
(handle->config_status != DLT_OFFLINE_LOGSTORAGE_CONFIG_DONE))
- {
return 0;
- }
/* Calculate real length of DltStandardHeaderExtra */
standardHeader = (DltStandardHeader *)data2;
if (!DLT_IS_HTYP_WEID(standardHeader->htyp))
- {
standardHeaderExtraLen -= DLT_ID_SIZE;
- }
if (!DLT_IS_HTYP_WSID(standardHeader->htyp))
- {
standardHeaderExtraLen -= DLT_SIZE_WSID;
- }
if (!DLT_IS_HTYP_WTMS(standardHeader->htyp))
- {
standardHeaderExtraLen -= DLT_SIZE_WTMS;
- }
- extraHeader = (DltStandardHeaderExtra *) (data2
- + sizeof(DltStandardHeader));
+ extraHeader = (DltStandardHeaderExtra *)(data2
+ + sizeof(DltStandardHeader));
- if (DLT_IS_HTYP_UEH(standardHeader->htyp))
- {
+ if (DLT_IS_HTYP_UEH(standardHeader->htyp)) {
header_len = sizeof(DltStandardHeader) + sizeof(DltExtendedHeader) + standardHeaderExtraLen;
+
/* check if size2 is big enough to contain expected DLT message header */
- if ((unsigned int)size2 < header_len)
- {
+ if ((unsigned int)size2 < header_len) {
dlt_log(LOG_ERR, "DLT message header is too small\n");
return 0;
}
- extendedHeader = (DltExtendedHeader *) (data2
- + sizeof(DltStandardHeader) + standardHeaderExtraLen);
+ extendedHeader = (DltExtendedHeader *)(data2
+ + sizeof(DltStandardHeader) + standardHeaderExtraLen);
log_level = DLT_GET_MSIN_MTIN(extendedHeader->msin);
/* check if log message need to be stored in a certain device based on
* filter configuration */
num = dlt_logstorage_filter(handle, config, extendedHeader->apid,
- extendedHeader->ctid, extraHeader->ecu, log_level);
+ extendedHeader->ctid, extraHeader->ecu, log_level);
- if (num == 0 || num == -1)
- {
+ if ((num == 0) || (num == -1)) {
dlt_log(LOG_DEBUG, "No valid filter configuration found!\n");
return 0;
}
}
- else
- {
+ else {
header_len = sizeof(DltStandardHeader) + standardHeaderExtraLen;
+
/* check if size2 is big enough to contain expected DLT message header */
- if ((unsigned int)size2 < header_len)
- {
+ if ((unsigned int)size2 < header_len) {
dlt_log(LOG_ERR, "DLT message header is too small (without extended header)\n");
return 0;
}
@@ -2141,29 +1944,23 @@ int dlt_logstorage_write(DltLogStorage *handle,
/* check if log message need to be stored in a certain device based on
* filter configuration */
num = dlt_logstorage_filter(handle, config, NULL,
- NULL, extraHeader->ecu, log_level);
+ NULL, extraHeader->ecu, log_level);
- if (num == 0 || num == -1)
- {
+ if ((num == 0) || (num == -1)) {
dlt_log(LOG_DEBUG, "No valid filter configuration found!\n");
return 0;
}
}
/* store log message in every found filter */
- for (i = 0; i < DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS; i++)
- {
+ for (i = 0; i < DLT_OFFLINE_LOGSTORAGE_MAX_POSSIBLE_CONFIGS; i++) {
if (config[i] == NULL)
- {
continue;
- }
/* If file name is not present, the filter is non verbose control filter
* hence skip storing */
if (config[i]->file_name == NULL)
- {
continue;
- }
/* prepare log file (create and/or open)*/
ret = config[i]->dlt_logstorage_prepare(config[i],
@@ -2171,8 +1968,7 @@ int dlt_logstorage_write(DltLogStorage *handle,
handle->device_mount_point,
size1 + size2 + size3);
- if (ret == 0) /* log data (write) */
- {
+ if (ret == 0) { /* log data (write) */
ret = config[i]->dlt_logstorage_write(config[i],
data1,
size1,
@@ -2181,8 +1977,7 @@ int dlt_logstorage_write(DltLogStorage *handle,
data3,
size3);
- if (ret == 0)
- {
+ if (ret == 0) {
/* flush to be sure log is stored on device */
ret = config[i]->dlt_logstorage_sync(config[i],
uconfig,
@@ -2190,27 +1985,21 @@ int dlt_logstorage_write(DltLogStorage *handle,
DLT_LOGSTORAGE_SYNC_ON_MSG);
if (ret != 0)
- {
dlt_log(LOG_ERR,
"dlt_logstorage_write: Unable to sync.\n");
- }
}
- else
- {
+ else {
handle->write_errors += 1;
if (handle->write_errors >=
DLT_OFFLINE_LOGSTORAGE_MAX_WRITE_ERRORS)
- {
err = -1;
- }
dlt_log(LOG_ERR,
"dlt_logstorage_write: Unable to write.\n");
}
}
- else
- {
+ else {
dlt_log(LOG_ERR,
"dlt_logstorage_write: Unable to prepare.\n");
}
@@ -2232,26 +2021,21 @@ int dlt_logstorage_sync_caches(DltLogStorage *handle)
DltLogStorageFilterList **tmp = NULL;
if (handle == NULL)
- {
return -1;
- }
tmp = &(handle->config_list);
- while (*(tmp) != NULL)
- {
- if ((*tmp)->data != NULL)
- {
+ while (*(tmp) != NULL) {
+ if ((*tmp)->data != NULL) {
if ((*tmp)->data->dlt_logstorage_sync((*tmp)->data,
&handle->uconfig,
handle->device_mount_point,
DLT_LOGSTORAGE_SYNC_ON_DEMAND) != 0)
- {
dlt_vlog(LOG_ERR,
- "%s: Sync failed. Continue with next cache.\n",
- __func__);
- }
+ "%s: Sync failed. Continue with next cache.\n",
+ __func__);
}
+
tmp = &(*tmp)->next;
}