summaryrefslogtreecommitdiff
path: root/src/shared/dlt_common.c
diff options
context:
space:
mode:
authorSimon Brandner <simon.brandner@partner.bmw.de>2013-03-19 14:24:37 +0100
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2013-07-19 16:54:45 +0200
commit205f941eabcac08cf66745e6527067077e57aaa7 (patch)
treeea0f18b1967c676f2a148d24ef6406418b706d29 /src/shared/dlt_common.c
parent0455d98d5664dd8891b3e5c97f268a0da0828e12 (diff)
downloadDLT-daemon-205f941eabcac08cf66745e6527067077e57aaa7.tar.gz
Removed possible recursive call of dlt_user_log_file_errorMessage. Added some return value checks for system calls (stat,fseek) and error logging in those cases.
Conflicts: src/lib/dlt_filetransfer.c Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'src/shared/dlt_common.c')
-rwxr-xr-xsrc/shared/dlt_common.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
index 8047fcb..19a1698 100755
--- a/src/shared/dlt_common.c
+++ b/src/shared/dlt_common.c
@@ -1782,11 +1782,16 @@ int dlt_file_read(DltFile *file,int verbose)
/* skip additional header parameters and payload data */
if (fseek(file->handle,file->msg.headersize - sizeof(DltStorageHeader) - sizeof(DltStandardHeader) + file->msg.datasize,SEEK_CUR))
{
- /* go back to last position in file */
- fseek(file->handle,file->file_position,SEEK_SET);
+
sprintf(str,"Seek failed to skip extra header and payload data from file of size %d!\n",
file->msg.headersize - sizeof(DltStorageHeader) - sizeof(DltStandardHeader) + file->msg.datasize);
dlt_log(LOG_ERR, str);
+ /* go back to last position in file */
+ if (fseek(file->handle,file->file_position,SEEK_SET))
+ {
+ sprintf(str,"Seek back also failed!\n");
+ dlt_log(LOG_ERR, str);
+ }
return -1;
}