summaryrefslogtreecommitdiffstats
path: root/plugins/imfile/imfile.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2010-10-15 09:58:07 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2010-10-15 09:58:07 +0200
commitddcb7d9af0ed6641303be6001270b77a2b70257f (patch)
treefd569c6496bb59d7232cf8f7a9ce17e93fb4e362 /plugins/imfile/imfile.c
parentc104eea4e5d0aeb4c87ee23fab8532530d5fe0e9 (diff)
downloadrsyslog-ddcb7d9af0ed6641303be6001270b77a2b70257f.tar.gz
rsyslog-ddcb7d9af0ed6641303be6001270b77a2b70257f.tar.bz2
rsyslog-ddcb7d9af0ed6641303be6001270b77a2b70257f.zip
bugfix: imfile utilizes 32 bit to track offset
Most importantly, this problem can not experienced on recent Fedora 64 bit OS (which has 64 bit long's!)
Diffstat (limited to 'plugins/imfile/imfile.c')
-rw-r--r--plugins/imfile/imfile.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c
index 927cb82e..1ae6e69a 100644
--- a/plugins/imfile/imfile.c
+++ b/plugins/imfile/imfile.c
@@ -349,12 +349,15 @@ persistStrmState(fileInfo_t *pInfo)
{
DEFiRet;
strm_t *psSF = NULL; /* state file (stream) */
+ size_t lenDir;
ASSERT(pInfo != NULL);
/* TODO: create a function persistObj in obj.c? */
CHKiRet(strmConstruct(&psSF));
- CHKiRet(strmSetDir(psSF, glbl.GetWorkDir(), strlen((char*)glbl.GetWorkDir())));
+ lenDir = strlen((char*)glbl.GetWorkDir());
+ if(lenDir > 0)
+ CHKiRet(strmSetDir(psSF, glbl.GetWorkDir(), lenDir));
CHKiRet(strmSettOperationsMode(psSF, STREAMMODE_WRITE));
CHKiRet(strmSetiAddtlOpenFlags(psSF, O_TRUNC));
CHKiRet(strmSetsType(psSF, STREAMTYPE_FILE_SINGLE));