summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-06-04 15:59:37 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-06-04 15:59:37 +0200
commit76da7f9f4e3dc900046a1956153d10532f2b1ae0 (patch)
treef8d6c17b4d968a63fd07e7500ba020cdce37cd8a /runtime
parentf2800ba261d2fb7466cbdebbf80afe92f0bffd3d (diff)
downloadrsyslog-76da7f9f4e3dc900046a1956153d10532f2b1ae0.tar.gz
rsyslog-76da7f9f4e3dc900046a1956153d10532f2b1ae0.tar.xz
rsyslog-76da7f9f4e3dc900046a1956153d10532f2b1ae0.zip
added $OMFileIOBufferSize config directive and plumbing
Diffstat (limited to 'runtime')
-rw-r--r--runtime/stream.c21
-rw-r--r--runtime/stream.h3
-rw-r--r--runtime/unicode-helper.h5
3 files changed, 8 insertions, 21 deletions
diff --git a/runtime/stream.c b/runtime/stream.c
index abcfce0c..a4844d2b 100644
--- a/runtime/stream.c
+++ b/runtime/stream.c
@@ -94,7 +94,6 @@ static rsRetVal strmOpenFile(strm_t *pThis)
}
}
-RUNLOG_VAR("%d", pThis->tOperationsMode);
/* compute which flags we need to provide to open */
switch(pThis->tOperationsMode) {
case STREAMMODE_READ:
@@ -113,9 +112,6 @@ RUNLOG_VAR("%d", pThis->tOperationsMode);
break;
}
- iFlags |= pThis->iAddtlOpenFlags; // TODO: remove this!
-dbgprintf("XXX: open with flags %d\n", iFlags);
-
pThis->fd = open((char*)pThis->pszCurrFName, iFlags, pThis->tOpenMode);
if(pThis->fd == -1) {
int ierrnoSave = errno;
@@ -763,6 +759,7 @@ DEFpropSetMeth(strm, tOperationsMode, int)
DEFpropSetMeth(strm, tOpenMode, mode_t)
DEFpropSetMeth(strm, sType, strmType_t)
DEFpropSetMeth(strm, iZipLevel, int)
+DEFpropSetMeth(strm, sIOBufSize, size_t)
static rsRetVal strmSetiMaxFiles(strm_t *pThis, int iNewVal)
{
@@ -771,19 +768,6 @@ static rsRetVal strmSetiMaxFiles(strm_t *pThis, int iNewVal)
return RS_RET_OK;
}
-static rsRetVal strmSetiAddtlOpenFlags(strm_t *pThis, int iNewVal)
-{
- DEFiRet;
-
- if(iNewVal & O_APPEND)
- ABORT_FINALIZE(RS_RET_PARAM_ERROR);
-
- pThis->iAddtlOpenFlags = iNewVal;
-
-finalize_it:
- RETiRet;
-}
-
/* set the stream's file prefix
* The passed-in string is duplicated. So if the caller does not need
@@ -829,7 +813,6 @@ strmSetDir(strm_t *pThis, uchar *pszDir, size_t iLenDir)
ASSERT(pThis != NULL);
ASSERT(pszDir != NULL);
-dbgprintf("XXX: strm setDir: '%s'\n", pszDir);
if(iLenDir < 1)
ABORT_FINALIZE(RS_RET_FILE_PREFIX_MISSING);
@@ -1046,7 +1029,6 @@ CODESTARTobjQueryInterface(strm)
pIf->RecordBegin = strmRecordBegin;
pIf->RecordEnd = strmRecordEnd;
pIf->Serialize = strmSerialize;
- /* TODO: remove this! */ pIf->SetiAddtlOpenFlags = strmSetiAddtlOpenFlags;
pIf->GetCurrOffset = strmGetCurrOffset;
pIf->SetWCntr = strmSetWCntr;
/* set methods */
@@ -1058,6 +1040,7 @@ CODESTARTobjQueryInterface(strm)
pIf->SettOpenMode = strmSettOpenMode;
pIf->SetsType = strmSetsType;
pIf->SetiZipLevel = strmSetiZipLevel;
+ pIf->SetsIOBufSize = strmSetsIOBufSize;
finalize_it:
ENDobjQueryInterface(strm)
diff --git a/runtime/stream.h b/runtime/stream.h
index 449bf6c6..e4871611 100644
--- a/runtime/stream.h
+++ b/runtime/stream.h
@@ -74,7 +74,6 @@ typedef struct strm_s {
int lenFName;
strmMode_t tOperationsMode;
mode_t tOpenMode;
- int iAddtlOpenFlags; /* can be used to specifiy additional (compatible!) open flags */
int64 iMaxFileSize;/* maximum size a file may grow to */
int iMaxFiles; /* maximum number of files if a circular mode is in use */
int iFileNumDigits;/* min number of digits to use in file number (only in circular mode) */
@@ -117,7 +116,6 @@ BEGINinterface(strm) /* name must also be changed in ENDinterface macro! */
rsRetVal (*RecordBegin)(strm_t *pThis);
rsRetVal (*RecordEnd)(strm_t *pThis);
rsRetVal (*Serialize)(strm_t *pThis, strm_t *pStrm);
- rsRetVal (*SetiAddtlOpenFlags)(strm_t *pThis, int iNewVal);
rsRetVal (*GetCurrOffset)(strm_t *pThis, int64 *pOffs);
rsRetVal (*SetWCntr)(strm_t *pThis, number_t *pWCnt);
INTERFACEpropSetMeth(strm, bDeleteOnClose, int);
@@ -128,6 +126,7 @@ BEGINinterface(strm) /* name must also be changed in ENDinterface macro! */
INTERFACEpropSetMeth(strm, tOpenMode, mode_t);
INTERFACEpropSetMeth(strm, sType, strmType_t);
INTERFACEpropSetMeth(strm, iZipLevel, int);
+ INTERFACEpropSetMeth(strm, sIOBufSize, size_t);
ENDinterface(strm)
#define strmCURR_IF_VERSION 1 /* increment whenever you change the interface structure! */
diff --git a/runtime/unicode-helper.h b/runtime/unicode-helper.h
index fe4cc1f8..5289da3f 100644
--- a/runtime/unicode-helper.h
+++ b/runtime/unicode-helper.h
@@ -31,6 +31,11 @@
#include <string.h>
+static inline char* ustrncpy(uchar *psz1, uchar *psz2, size_t len)
+{
+ return strncpy((char*) psz1, (char*) psz2, len);
+}
+
static inline int ustrcmp(uchar *psz1, uchar *psz2)
{
return strcmp((char*) psz1, (char*) psz2);