* @param A First one
* @param B second one
*/
-static inline void SwapBuffers(StrBuf *A, StrBuf *B)
+static inline void iSwapBuffers(StrBuf *A, StrBuf *B)
{
StrBuf C;
}
+void SwapBuffers(StrBuf *A, StrBuf *B)
+{
+ iSwapBuffers(A, B);
+}
+
+
/**
* @ingroup StrBuf_Cast
* @brief Cast operator to Plain String
}
else
NewBuf = *CreateRelpaceMe;
- SwapBuffers (NewBuf, CopyFlushMe);
+ iSwapBuffers (NewBuf, CopyFlushMe);
}
if (!KeepOriginal)
FlushStrBuf(CopyFlushMe);
*pt = *pch;
pt++; pch++;
}
- else if (*pch < 0x20) {
- /* we probably shouldn't be doing this */
- if (OverrideLowChars)
- {
- *pt = '_';
- pt ++;
- pch ++;
- }
- else
- {
- *pt = '&';
- pt++;
- *pt = HexList[*(unsigned char*)pch][0];
- pt ++;
- *pt = HexList[*(unsigned char*)pch][1];
- pt ++; pch ++;
- *pt = '&';
- pt++;
- pch ++;
- }
- }
else {
IsUtf8Sequence = Ctdl_GetUtf8SequenceLength(pch, pche);
if (IsUtf8Sequence)
{
- while (IsUtf8Sequence > 0){
+ while ((IsUtf8Sequence > 0) &&
+ (pch < pche))
+ {
*pt = *pch;
pt ++;
pch ++;
return -1;
if (BufOut->BufSize < BufIn->BufUsed)
- IncreaseBuf(BufOut, BufIn->BufUsed, 0);
+ IncreaseBuf(BufOut, 0, BufIn->BufUsed);
BufOut->BufUsed = CtdlDecodeBase64(BufOut->buf,
BufIn->buf,
z_stream zstream;
} z_enc_stream;
-void *StrBufNewStreamContext(eStreamType type, const char **Err)
+vStreamT *StrBufNewStreamContext(eStreamType type, const char **Err)
{
base64_decodestate *state;;
*Err = NULL;
case eBase64Encode:
state = (base64_decodestate*) malloc(sizeof(base64_decodestate));
base64_init_decodestate(state);
- return state;
+ return (vStreamT*) state;
break;
case eZLibDecode:
{
err = inflateInit(&stream->zstream);
if (err != Z_OK) {
- StrBufDestroyStreamContext(type, (void**)&stream, Err);
+ StrBufDestroyStreamContext(type, (vStreamT**) &stream, Err);
*Err = zError(err);
return NULL;
}
- return stream;
+ return (vStreamT*) stream;
}
case eZLibEncode:
DEF_MEM_LEVEL,
Z_DEFAULT_STRATEGY);
if (err != Z_OK) {
- StrBufDestroyStreamContext(type, (void**) &stream, Err);
+ StrBufDestroyStreamContext(type, (vStreamT**) &stream, Err);
*Err = zError(err);
return NULL;
}
- return stream;
+ return (vStreamT*) stream;
}
case eEmtyCodec:
/// TODO
return NULL;
}
-int StrBufDestroyStreamContext(eStreamType type, void **vStream, const char **Err)
+int StrBufDestroyStreamContext(eStreamType type, vStreamT **vStream, const char **Err)
{
int err;
int rc = 0;
return rc;
}
-int StrBufStreamTranscode(eStreamType type, IOBuffer *Target, IOBuffer *In, const char* pIn, long pInLen, void *vStream, int LastChunk, const char **Err)
+int StrBufStreamTranscode(eStreamType type, IOBuffer *Target, IOBuffer *In, const char* pIn, long pInLen, vStreamT *vStream, int LastChunk, const char **Err)
{
int rc = 0;
switch (type)
(stream->OutBuf.BufUsed != org_outbuf_len)
))
{
- SwapBuffers(Target->Buf, &stream->OutBuf);
+ iSwapBuffers(Target->Buf, &stream->OutBuf);
}
if (stream->zstream.avail_in == 0)
stream->OutBuf.BufUsed += stream->zstream.total_out + org_outbuf_len;
- if (Target) SwapBuffers(Target->Buf, &stream->OutBuf);
+ if (Target) iSwapBuffers(Target->Buf, &stream->OutBuf);
if (stream->zstream.avail_in == 0)
{
TmpBuf->buf[TmpBuf->BufUsed] = '\0';
/* little card game: wheres the red lady? */
- SwapBuffers(ConvertBuf, TmpBuf);
+ iSwapBuffers(ConvertBuf, TmpBuf);
FlushStrBuf(TmpBuf);
}
#endif