diff options
author | Saya Sugiura <ssugiura@jp.adit-jv.com> | 2020-07-31 18:13:24 +0900 |
---|---|---|
committer | Saya Sugiura <39760799+ssugiura@users.noreply.github.com> | 2021-01-06 09:27:28 +0900 |
commit | f45e9326fe4e3f85b7d58034feb98516de97c7ca (patch) | |
tree | 47f0dc42808a1b960b0d75e33d9c17f992ffa545 /src | |
parent | 0955febc56bf8ad49b0eabd7fc7970fd852becde (diff) | |
download | DLT-daemon-f45e9326fe4e3f85b7d58034feb98516de97c7ca.tar.gz |
logstorage: Modify rearranging file
This commit updates dlt_logstorage_rearrange_file_name() to perform
following:
- If the maximum index isn't equal to maxcounter, do not rearrange the
file name
- If the maximum index reaches to maxcounter:
- If minimum index is not 1, do not rearrange the file name
- If minimum index is 1, check if there's any indexes which the gap
is more than 1. If exists, take those indexes as latest and oldest.
Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c index ac3b372..75be657 100644 --- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c @@ -173,8 +173,17 @@ void dlt_logstorage_rearrange_file_name(DltLogStorageFileList **head) if ((head == NULL) || (*head == NULL) || ((*head)->next == NULL)) return; + if ((*head)->idx != 1) + { + /* Do not sort */ + return; + } + for (n = *head; n != NULL; n = n->next) { - if (n && n_prev) { + /* Compare the diff between n->idx and n_prev->idx only if + * wrap_post and wrap_pre are not set yet. Otherwise continue the loop + * until the tail */ + if (n && n_prev && !wrap_post && !wrap_pre) { if ((n->idx - n_prev->idx) != 1) { wrap_post = n; wrap_pre = n_prev; |