#include <config.h>
#include <system.h>
#include <string.h>
#ifdef HAVE_MALLOC_H
#include <malloc.h>
#endif
#include <stdlib.h>
#include <cvsapi.h>
#include "unicodeapi.h"
/* The 'default' encoding is for UTF8-BOM for storage in the RCS files */
const diff_encoding_type __diff_encoding_utf8 = { UTF8_CHARSET ,1 };
static CCodepage g_cp;
int begin_encoding(const diff_encoding_type *from)
{
CCodepage::Encoding f,t;
f.encoding = from->encoding;
f.bom = from->bom?true:false;
if(g_cp.BeginEncoding(f,CCodepage::Utf8Encoding))
return 0;
return -1;
}
int end_encoding()
{
if(g_cp.EndEncoding())
return 0;
return -1;
}
int convert_encoding(const char *inbuf, size_t len, char **outbuf, size_t *outlen)
{
return g_cp.ConvertEncoding((const void *)inbuf,len,(void*&)*outbuf,*outlen);
}
int strip_crlf(char *buf, size_t *len)
{
if(g_cp.StripCrLf((void*)buf,*len))
return 0;
return -1;
}
syntax highlighted by Code2HTML, v. 0.9.1