summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2011-11-22 10:57:33 +0100
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2011-11-22 10:57:33 +0100
commitc8cd582507923a1f7ddcc05af47ea30a452e8c34 (patch)
tree0769d18dd9935f4228a32a6744707bc64d2331ad /src
parentc870bcb94957fcbab7f56b6cd3ff5a0fc659f24c (diff)
downloadDLT-daemon-c8cd582507923a1f7ddcc05af47ea30a452e8c34.tar.gz
dlt-system filetransfer now recovers when file is deleted during filetransfer.
Added check of file size when starting and deleting files during filetransfer. Added check of shm buffer availability when push to shm.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/shared/dlt_common.c479
-rw-r--r--src/shared/dlt_shm.c20
-rw-r--r--src/system/dlt-system-log.c51
-rw-r--r--src/system/dlt-system.h1
-rwxr-xr-xsrc/tests/dlt-test-internal.c123
5 files changed, 55 insertions, 619 deletions
diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
index f744702..8e2b6d4 100755
--- a/src/shared/dlt_common.c
+++ b/src/shared/dlt_common.c
@@ -2790,485 +2790,6 @@ int dlt_buffer_get_message_count(DltBuffer *buf)
return ((int*)(buf->shm))[2];
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-int dlt_ringbuffer_init(DltRingBuffer *dltbuf, uint32_t size)
-{
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (size<=sizeof(uint32_t))
- {
- return -1;
- }
-
- dltbuf->buffer=(char*)malloc(size);
- if (dltbuf->buffer==0)
- {
- return -1;
- }
-
- dltbuf->size=size;
-
- dltbuf->pos_write=0;
- dltbuf->pos_read=0;
-
- dltbuf->count=0;
-
- return 0;
-}
-
-int dlt_ringbuffer_free(DltRingBuffer *dltbuf)
-{
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (dltbuf->buffer)
- {
- free(dltbuf->buffer);
- }
-
- dltbuf->buffer=0;
-
- dltbuf->size=0;
-
- dltbuf->pos_write=0;
- dltbuf->pos_read=0;
-
- dltbuf->count=0;
-
- return 0;
-}
-
-int dlt_ringbuffer_put(DltRingBuffer *dltbuf, void *data, uint32_t size)
-{
- uint32_t sui, part1, part2;
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (dltbuf->buffer==0)
- {
- return -1;
- }
-
- if (data==0)
- {
- return -1;
- }
-
- sui = sizeof(uint32_t);
-
- if ((size+sui)>dltbuf->size)
- {
- return -1;
- }
-
- dlt_ringbuffer_checkandfreespace(dltbuf, (size+sui));
-
- if (dltbuf->pos_write >= dltbuf->size)
- {
- dltbuf->pos_write = 0;
- }
-
- /* Not enough space for one uint available before end of linear buffer */
- /* Start at begin of linear buffer */
- if ((dltbuf->size - dltbuf->pos_write) < sui)
- {
- dltbuf->pos_write = 0;
- }
-
- /* Write length of following data to buffer */
- memcpy(&(dltbuf->buffer[dltbuf->pos_write]), &size, sui);
- dltbuf->pos_write+=sui;
-
- if (dltbuf->pos_write >= dltbuf->size)
- {
- dltbuf->pos_write = 0;
- }
-
- if ((dltbuf->size - dltbuf->pos_write) < size)
- {
- /* Not enough space til end of linear buffer, */
- /* split up write call */
- part1 = dltbuf->size - dltbuf->pos_write;
- part2 = size - part1;
-
- memcpy(dltbuf->buffer + dltbuf->pos_write, data, part1);
- memcpy(dltbuf->buffer, ((char*)data) + part1, part2);
- dltbuf->pos_write = part2;
-
- }
- else
- {
- /* Enough space til end of linear buffer */
- memcpy(&(dltbuf->buffer[dltbuf->pos_write]), data, size);
- dltbuf->pos_write+=size;
- }
-
- dltbuf->count++;
-
- return 0;
-}
-
-
-int dlt_ringbuffer_put3(DltRingBuffer *dltbuf, void *data1, uint32_t size1, void *data2, uint32_t size2, void *data3, uint32_t size3)
-{
- uint32_t sui, part1, part2;
- uint32_t total_size;
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (dltbuf->buffer==0)
- {
- return -1;
- }
-
- sui = sizeof(uint32_t);
-
- total_size = size1+size2+size3;
-
- if ((total_size+sui)>dltbuf->size)
- {
- return -1;
- }
-
- dlt_ringbuffer_checkandfreespace(dltbuf, (total_size+sui));
-
- if (dltbuf->pos_write >= dltbuf->size)
- {
- dltbuf->pos_write = 0;
- }
-
- /* Not enough space for one uint available before end of linear buffer */
- /* Start at begin of linear buffer */
- if ((dltbuf->size - dltbuf->pos_write) < sui)
- {
- dltbuf->pos_write = 0;
- }
-
- /* Write length of following data to buffer */
- memcpy(&(dltbuf->buffer[dltbuf->pos_write]), &total_size, sui);
- dltbuf->pos_write+=sui;
-
- if (dltbuf->pos_write >= dltbuf->size)
- {
- dltbuf->pos_write = 0;
- }
-
- /* First chunk of data (data1, size1) */
- if ((dltbuf->size - dltbuf->pos_write) < size1)
- {
- /* Not enough space til end of linear buffer, */
- /* split up write call */
- part1 = dltbuf->size - dltbuf->pos_write;
- part2 = size1 - part1;
-
- memcpy(dltbuf->buffer + dltbuf->pos_write, data1, part1);
- memcpy(dltbuf->buffer, ((char*)data1) + part1, part2);
- dltbuf->pos_write = part2;
-
- }
- else
- {
- /* Enough space til end of linear buffer */
- memcpy(&(dltbuf->buffer[dltbuf->pos_write]), data1, size1);
- dltbuf->pos_write+=size1;
- }
-
- if (dltbuf->pos_write >= dltbuf->size)
- {
- dltbuf->pos_write = 0;
- }
-
- /* Second chunk of data (data2, size2) */
- if ((dltbuf->size - dltbuf->pos_write) < size2)
- {
- /* Not enough space til end of linear buffer, */
- /* split up write call */
- part1 = dltbuf->size - dltbuf->pos_write;
- part2 = size2 - part1;
-
- memcpy(dltbuf->buffer + dltbuf->pos_write, data2, part1);
- memcpy(dltbuf->buffer, ((char*)data2) + part1, part2);
- dltbuf->pos_write = part2;
-
- }
- else
- {
- /* Enough space til end of linear buffer */
- memcpy(&(dltbuf->buffer[dltbuf->pos_write]), data2, size2);
- dltbuf->pos_write+=size2;
- }
-
- if (dltbuf->pos_write >= dltbuf->size)
- {
- dltbuf->pos_write = 0;
- }
-
- /* Third chunk of data (data3, size3) */
- if ((dltbuf->size - dltbuf->pos_write) < size3)
- {
- /* Not enough space til end of linear buffer, */
- /* split up write call */
- part1 = dltbuf->size - dltbuf->pos_write;
- part2 = size3 - part1;
-
- memcpy(dltbuf->buffer + dltbuf->pos_write, data3, part1);
- memcpy(dltbuf->buffer, ((char*)data3) + part1, part2);
- dltbuf->pos_write = part2;
-
- }
- else
- {
- /* Enough space til end of linear buffer */
- memcpy(dltbuf->buffer + dltbuf->pos_write, data3, size3);
- dltbuf->pos_write+=size3;
- }
-
- dltbuf->count++;
-
- return 0;
-}
-
-int dlt_ringbuffer_get(DltRingBuffer *dltbuf, void *data, size_t *size)
-{
- uint32_t tmpsize=0;
- uint32_t sui;
-
- uint32_t part1, part2;
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (dltbuf->buffer==0)
- {
- return -1;
- }
-
- if (dltbuf->count==0)
- {
- return -1;
- }
-
- sui = sizeof(uint32_t);
-
- if (dltbuf->pos_read >= dltbuf->size)
- {
- dltbuf->pos_read = 0;
- }
-
- if ((dltbuf->size - dltbuf->pos_read) < sui)
- {
- dltbuf->pos_read = 0;
- }
-
- /* printf("Reading at offset: %d\n", dltbuf->pos_read); */
-
- memcpy(&tmpsize,&(dltbuf->buffer[dltbuf->pos_read]), sui);
- dltbuf->pos_read += sui;
-
- if (dltbuf->pos_read >= dltbuf->size)
- {
- dltbuf->pos_read = 0;
- }
-
- if ((tmpsize>0) && ((tmpsize+sizeof(uint32_t))<=dltbuf->size))
- {
- if ((dltbuf->size - dltbuf->pos_read) < tmpsize)
- {
- /* Not enough space til end of linear buffer, */
- /* split up read call */
- part1 = dltbuf->size - dltbuf->pos_read;
- part2 = tmpsize - part1;
-
- memcpy(data, dltbuf->buffer + dltbuf->pos_read, part1);
- memcpy(((char*)data)+part1, dltbuf->buffer, part2);
- dltbuf->pos_read = part2;
- }
- else
- {
- /* Enough space til end of linear buffer */
- /* no split up read call */
- memcpy(data, &(dltbuf->buffer[dltbuf->pos_read]), tmpsize);
- dltbuf->pos_read+=tmpsize;
- }
- *size = tmpsize;
- }
- else
- {
- data=0;
- *size=0;
- }
-
- dltbuf->count--;
-
- return 0;
-}
-
-int dlt_ringbuffer_get_skip(DltRingBuffer *dltbuf)
-{
- uint32_t tmpsize=0;
- uint32_t sui;
-
- uint32_t part1, part2;
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (dltbuf->buffer==0)
- {
- return -1;
- }
-
- if (dltbuf->count==0)
- {
- return -1;
- }
-
- sui = sizeof(uint32_t);
-
- if (dltbuf->pos_read >= dltbuf->size)
- {
- dltbuf->pos_read = 0;
- }
-
- if ((dltbuf->size - dltbuf->pos_read) < sui)
- {
- dltbuf->pos_read = 0;
- }
-
- memcpy(&tmpsize,&(dltbuf->buffer[dltbuf->pos_read]), sui);
- dltbuf->pos_read += sui;
-
- if (dltbuf->pos_read >= dltbuf->size)
- {
- dltbuf->pos_read = 0;
- }
-
- if ((tmpsize>0) && ((tmpsize+sui)<=dltbuf->size))
- {
- if ((dltbuf->size - dltbuf->pos_read) < tmpsize)
- {
- /* Not enough space til end of linear buffer */
- part1 = dltbuf->size - dltbuf->pos_read;
- part2 = tmpsize - part1;
-
- dltbuf->pos_read = part2;
- }
- else
- {
- /* Enough space til end of linear buffer */
- dltbuf->pos_read+=tmpsize;
- }
- }
-
- dltbuf->count--;
-
- return 0;
-}
-
-int dlt_ringbuffer_freespacewrite(DltRingBuffer *dltbuf, uint32_t *freespace)
-{
- if ((dltbuf==0) || (freespace==0))
- {
- return -1;
- }
-
- *freespace=0;
-
- /* Space til pos_read */
- if (dltbuf->pos_read > dltbuf->pos_write)
- {
- *freespace=(dltbuf->pos_read - dltbuf->pos_write);
- return 0;
- }
- else if (dltbuf->pos_read < dltbuf->pos_write)
- {
- *freespace=(dltbuf->size - dltbuf->pos_write + dltbuf->pos_read );
- return 0;
- }
- else
- {
- if (dltbuf->count)
- {
- return 0;
- }
- else
- {
- *freespace=dltbuf->size;
- return 0;
- }
- }
- return 0;
-}
-
-int dlt_ringbuffer_checkandfreespace(DltRingBuffer *dltbuf, uint32_t reqspace)
-{
- uint32_t space_left;
-
- if (dltbuf==0)
- {
- return -1;
- }
-
- if (dlt_ringbuffer_freespacewrite(dltbuf,&space_left) == -1)
- {
- return -1;
- }
-
- /* printf("Now reading at: %d, space_left = %d, req = %d, r=%d, w=%d, count=%d \n",
- dltbuf->pos_read,space_left, reqspace, dltbuf->pos_read, dltbuf->pos_write, dltbuf->count); */
-
- while (space_left<reqspace)
- {
- /* Overwrite, correct read position */
-
- /* Read and skip one element */
- dlt_ringbuffer_get_skip(dltbuf);
-
- /* Space until pos_read */
- if (dlt_ringbuffer_freespacewrite(dltbuf,&space_left) == -1)
- {
- return -1;
- }
-
- /* printf("Overwrite: Now reading at: %d, space_left = %d, req = %d, r=%d, w=%d, count=%d \n",
- dltbuf->pos_read,space_left, reqspace, dltbuf->pos_read, dltbuf->pos_write, dltbuf->count); */
- }
-
- return 0;
-}
-
#if !defined (__WIN32__)
int dlt_setup_serial(int fd, speed_t speed)
diff --git a/src/shared/dlt_shm.c b/src/shared/dlt_shm.c
index 5f54f88..f330864 100644
--- a/src/shared/dlt_shm.c
+++ b/src/shared/dlt_shm.c
@@ -211,6 +211,10 @@ int dlt_shm_get_used_size(DltShm *buf)
{
int ret;
+ /* check if buffer available */
+ if(!buf->buffer.mem)
+ return -1;
+
DLT_SHM_SEM_GET(buf->semid);
ret = dlt_buffer_get_used_size(&(buf->buffer));
DLT_SHM_SEM_FREE(buf->semid);
@@ -227,6 +231,10 @@ int dlt_shm_push(DltShm *buf,const unsigned char *data1,unsigned int size1,const
{
int ret;
+ /* check if buffer available */
+ if(!buf->buffer.mem)
+ return -1;
+
DLT_SHM_SEM_GET(buf->semid);
ret = dlt_buffer_push3(&(buf->buffer),data1,size1,data2,size2,data3,size3);
DLT_SHM_SEM_FREE(buf->semid);
@@ -238,6 +246,10 @@ int dlt_shm_pull(DltShm *buf,unsigned char *data, int max_size)
{
int ret;
+ /* check if buffer available */
+ if(!buf->buffer.mem)
+ return -1;
+
DLT_SHM_SEM_GET(buf->semid);
ret = dlt_buffer_pull(&(buf->buffer),data,max_size);
DLT_SHM_SEM_FREE(buf->semid);
@@ -249,6 +261,10 @@ int dlt_shm_copy(DltShm *buf,unsigned char *data, int max_size)
{
int ret;
+ /* check if buffer available */
+ if(!buf->buffer.mem)
+ return -1;
+
DLT_SHM_SEM_GET(buf->semid);
ret = dlt_buffer_copy(&(buf->buffer),data,max_size);
DLT_SHM_SEM_FREE(buf->semid);
@@ -260,6 +276,10 @@ int dlt_shm_remove(DltShm *buf)
{
int ret;
+ /* check if buffer available */
+ if(!buf->buffer.mem)
+ return -1;
+
DLT_SHM_SEM_GET(buf->semid);
ret = dlt_buffer_remove(&(buf->buffer));
DLT_SHM_SEM_FREE(buf->semid);
diff --git a/src/system/dlt-system-log.c b/src/system/dlt-system-log.c
index cf2b495..6c9f2bc 100644
--- a/src/system/dlt-system-log.c
+++ b/src/system/dlt-system-log.c
@@ -106,10 +106,16 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
if(runtime->filetransferRunning == 0) {
/* delete last transmitted file */
if(runtime->filetransferFile[0]!=0) {
- printf("Remove File: %s\n",runtime->filetransferFile);
- if(remove(runtime->filetransferFile)) {
- printf("Remove file %s failed!\n",runtime->filetransferFile);
- return;
+ if(stat(runtime->filetransferFile,&status)==0)
+ {
+ if(runtime->filetransferFilesize == status.st_size)
+ {
+ /* delete file only if size is not changed since starting transfer */
+ printf("Remove File: %s\n",runtime->filetransferFile);
+ if(remove(runtime->filetransferFile)) {
+ printf("Remove file %s failed!\n",runtime->filetransferFile);
+ }
+ }
}
runtime->filetransferFile[0]=0;
}
@@ -121,10 +127,13 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
while ((dp=readdir(dir)) != NULL) {
if(strcmp(dp->d_name,".")!=0 && strcmp(dp->d_name,"..")!=0) {
sprintf(filename,"%s/%s",options->FiletransferDirectory1,dp->d_name);
- stat(filename,&status);
- if(time_oldest == 0 || status.st_mtime < time_oldest) {
- time_oldest = status.st_mtime;
- strcpy(runtime->filetransferFile,filename);
+ if(stat(filename,&status)==0)
+ {
+ if((time_oldest == 0 || status.st_mtime < time_oldest) && (status.st_size != 0) ) {
+ time_oldest = status.st_mtime;
+ strcpy(runtime->filetransferFile,filename);
+ runtime->filetransferFilesize = status.st_size;
+ }
}
}
}
@@ -135,10 +144,13 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
while ((dp=readdir(dir)) != NULL) {
if(strcmp(dp->d_name,".")!=0 && strcmp(dp->d_name,"..")!=0) {
sprintf(filename,"%s/%s",options->FiletransferDirectory2,dp->d_name);
- stat(filename,&status);
- if(time_oldest == 0 || status.st_mtime < time_oldest) {
- time_oldest = status.st_mtime;
- strcpy(runtime->filetransferFile,filename);
+ if(stat(filename,&status)==0)
+ {
+ if((time_oldest == 0 || status.st_mtime < time_oldest) && (status.st_size != 0) ) {
+ time_oldest = status.st_mtime;
+ strcpy(runtime->filetransferFile,filename);
+ runtime->filetransferFilesize = status.st_size;
+ }
}
}
}
@@ -151,8 +163,10 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
runtime->filetransferCountPackages = dlt_user_log_file_packagesCount(context,runtime->filetransferFile);
if(runtime->filetransferCountPackages < 0 )
{
+ /* a problem occured; stop filetransfer and continue with next file after timeout */
printf("Error: dlt_user_log_file_packagesCount\n");
runtime->filetransferCountPackages = 0;
+ runtime->filetransferRunning = 0;
runtime->timeFiletransferDelay = options->FiletransferTimeDelay;
return;
}
@@ -160,6 +174,7 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
transferResult = dlt_user_log_file_header(context,runtime->filetransferFile);
if(transferResult < 0)
{
+ /* a problem occured; stop filetransfer and continue with next file after timeout */
printf("Error: dlt_user_log_file_header\n");
runtime->filetransferCountPackages = 0;
runtime->filetransferRunning = 0;
@@ -178,7 +193,11 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
transferResult = dlt_user_log_file_data(context,runtime->filetransferFile,runtime->filetransferLastSentPackage,0);
if(transferResult < 0)
{
+ /* a problem occured; stop filetransfer and continue with next file after timeout */
printf("Error: dlt_user_log_file_data\n");
+ runtime->filetransferCountPackages = 0;
+ runtime->filetransferRunning = 0;
+ runtime->timeFiletransferDelay = options->FiletransferTimeDelay;
return;
}
/* wait sending next package if more than 50% of buffer used */
@@ -198,12 +217,8 @@ void dlt_system_filetransfer_run(DltSystemOptions *options,DltSystemRuntime *run
}
runtime->timeFiletransferDelay = options->FiletransferTimeDelay;
runtime->filetransferRunning = 0;
- }
-
- }
-
-
-
+ }
+ }
}
void dlt_system_log_file(DltSystemOptions *options,DltContext *context,int num) {
diff --git a/src/system/dlt-system.h b/src/system/dlt-system.h
index 0a4b7d5..8fca0ae 100644
--- a/src/system/dlt-system.h
+++ b/src/system/dlt-system.h
@@ -114,6 +114,7 @@ typedef struct {
int timeStartup; /* time in seconds since startup of dlt-system */
int timeFiletransferDelay; /* time in seconds to start next filetransfer */
char filetransferFile[256];
+ long int filetransferFilesize;
int timeLogFileDelay[DLT_SYSTEM_LOG_FILE_MAX]; /* time in seconds to start next file log */
int timeLogProcessDelay[DLT_SYSTEM_LOG_PROCESSES_MAX]; /* time in seconds to start next process log */
int filetransferRunning; /* 0 = stooped, 1 = running */
diff --git a/src/tests/dlt-test-internal.c b/src/tests/dlt-test-internal.c
index 462a23e..c716905 100755
--- a/src/tests/dlt-test-internal.c
+++ b/src/tests/dlt-test-internal.c
@@ -109,7 +109,6 @@ void usage()
printf("%s \n", version);
printf("Options:\n");
printf(" -v Verbose mode\n");
- printf(" -1 Execute test 1 (Test ringbuffer)\n");
}
/**
@@ -128,7 +127,7 @@ int main(int argc, char* argv[])
opterr = 0;
- while ((c = getopt (argc, argv, "v1")) != -1)
+ while ((c = getopt (argc, argv, "v")) != -1)
{
switch (c)
{
@@ -137,11 +136,6 @@ int main(int argc, char* argv[])
vflag = 1;
break;
}
- case '1':
- {
- test[0] = 1;
- break;
- }
case '?':
{
if (isprint (optopt))
@@ -190,118 +184,3 @@ int main(int argc, char* argv[])
return 0;
}
-
-void internal1(void)
-{
- int index,result_index;
- size_t c;
- unsigned int size;
-
- char buf[1024],result[1024];
-
- DltRingBuffer mybuf;
-
- printf("Test1i: Ringbuffer, writing and reading \n");
-
- for (size=8;size<=30;size++)
- {
-
- dlt_ringbuffer_init(&mybuf, size);
-
- memset(result,0,1024);
-
- if (vflag)
- {
- printf("\nRingbuffer Size = %d \n\n",size);
- }
-
- /* Write several times to ringbuffer */
- for (index=0; index<6; index++)
- {
- memset(buf,0,1024);
-
- sprintf(buf,"%d",index);
- dlt_ringbuffer_put(&mybuf,buf,strlen(buf));
-
- if (vflag)
- {
- printf("W[%d], Bytes = %d, Hex: ", index, (int)strlen(buf));
- dlt_print_hex((uint8_t *)buf, strlen(buf));
- printf("\n");
- }
- }
-
- if (vflag)
- {
- printf("\nCount=%d, Max. by buffer size %d = %d\n",mybuf.count, size, (int)(size/(strlen(buf)+sizeof(unsigned int))));
- }
-
- /* Check value of mybuf.count, counting the elements in ringbuffer */
- if (mybuf.count!=(int)(size/(strlen(buf)+sizeof(unsigned int))))
- {
- tests_failed++;
- printf("Test1i FAILED\n");
-
- break;
- }
-
- result_index = 0;
-
- /* Read several times from ringbuffer */
- for (index=0; index<6; index++)
- {
- memset(buf,0,1024);
-
- if (dlt_ringbuffer_get(&mybuf,buf,&c)!=-1)
- {
- if (vflag)
- {
- printf("R[%d], Bytes = %d, Hex: ", index, (int)c);
- dlt_print_hex((uint8_t *)buf, c);
- printf("\n");
- }
-
- if (c==1)
- {
- result[result_index] = buf[0];
- }
- result_index++;
- }
- }
-
- /* Check value of mybuf.count, counting the elements in ringbuffer, must be 0 now */
- if (mybuf.count!=0)
- {
- tests_failed++;
- printf("Test1i FAILED\n");
-
- dlt_ringbuffer_free(&mybuf);
- return;
- }
-
- /* Check the read elements */
- for (index=0; index<result_index; index++)
- {
- sprintf(buf,"%d",((6-result_index)+index));
- if (result[index]!=buf[0])
- {
- tests_failed++;
- printf("Test1i FAILED\n");
-
- dlt_ringbuffer_free(&mybuf);
- return;
- }
- }
-
- if (vflag)
- {
- printf("\n");
- }
-
- dlt_ringbuffer_free(&mybuf);
- }
-
- tests_passed++;
- printf("Test1i PASSED\n");
-}
-