/*
mxte -- A table driven tagging engine for Python (Version 0.9)
Copyright (c) 2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
Copyright (c) 2000-2002, eGenix.com Software GmbH; mailto:info@egenix.com
*/
/* Debugging switches */
/*#define MAL_DEBUG*/
/*#define MAL_REF_DEBUG*/
/* Logging file used by debugging facility */
#ifndef MAL_DEBUG_OUTPUTFILE
# define MAL_DEBUG_OUTPUTFILE "mxTagEngine.log"
#endif
#include "mx.h"
#include "mxstdlib.h"
#include "mxTextTools.h"
/* --- Tagging Engine --- 8-bit String version ---------------------------- */
#undef TE_STRING_CHECK
#define TE_STRING_CHECK(obj) PyString_Check(obj)
#undef TE_STRING_AS_STRING
#define TE_STRING_AS_STRING(obj) PyString_AS_STRING(obj)
#undef TE_STRING_GET_SIZE
#define TE_STRING_GET_SIZE(obj) PyString_GET_SIZE(obj)
#undef TE_STRING_FROM_STRING
#define TE_STRING_FROM_STRING(str, size) PyString_FromStringAndSize(str, size)
#undef TE_CHAR
#define TE_CHAR char
#undef TE_HANDLE_MATCH
#define TE_HANDLE_MATCH string_handle_match
#undef TE_ENGINE_API
#define TE_ENGINE_API mxTextTools_TaggingEngine
#undef TE_TABLETYPE
#define TE_TABLETYPE MXTAGTABLE_STRINGTYPE
#undef TE_SEARCHAPI
#define TE_SEARCHAPI mxTextSearch_SearchBuffer
#include "mxte_impl.h"
/* --- Tagging Engine --- Unicode version --------------------------------- */
#ifdef HAVE_UNICODE
#undef TE_STRING_CHECK
#define TE_STRING_CHECK(obj) PyUnicode_Check(obj)
#undef TE_STRING_AS_STRING
#define TE_STRING_AS_STRING(obj) PyUnicode_AS_UNICODE(obj)
#undef TE_STRING_GET_SIZE
#define TE_STRING_GET_SIZE(obj) PyUnicode_GET_SIZE(obj)
#undef TE_STRING_FROM_STRING
#define TE_STRING_FROM_STRING(str, size) PyUnicode_FromUnicode(str, size)
#undef TE_CHAR
#define TE_CHAR Py_UNICODE
#undef TE_HANDLE_MATCH
#define TE_HANDLE_MATCH unicode_handle_match
#undef TE_ENGINE_API
#define TE_ENGINE_API mxTextTools_UnicodeTaggingEngine
#undef TE_TABLETYPE
#define TE_TABLETYPE MXTAGTABLE_UNICODETYPE
#undef TE_SEARCHAPI
#define TE_SEARCHAPI mxTextSearch_SearchUnicode
#include "mxte_impl.h"
#endif
syntax highlighted by Code2HTML, v. 0.9.1