ReactOS 0.4.16-dev-2207-geb15453
main.c File Reference
#include <stdarg.h>
#include <libxml/parser.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlsave.h>
#include <libxslt/pattern.h>
#include <libxslt/transform.h>
#include <libxslt/imports.h>
#include <libxslt/xsltutils.h>
#include <libxslt/variables.h>
#include <libxslt/xsltInternals.h>
#include <libxslt/documents.h>
#include <libxslt/extensions.h>
#include <libxslt/extra.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "rpcproxy.h"
#include "msxml.h"
#include "msxml2.h"
#include "msxml6.h"
#include "wine/debug.h"
#include "msxml_private.h"
Include dependency graph for main.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (msxml)
 
void wineXmlCallbackLog (char const *caller, xmlErrorLevel lvl, char const *msg, va_list ap)
 
void wineXmlCallbackError (char const *caller, const xmlError *err)
 
static int wineXmlMatchCallback (char const *filename)
 
static voidwineXmlOpenCallback (char const *filename)
 
static int wineXmlReadCallback (void *context, char *buffer, int len)
 
static int wineXmlFileCloseCallback (void *context)
 
static void init_libxslt (void)
 
static int to_utf8 (int cp, unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int from_utf8 (int cp, unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int gbk_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_gbk (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int iso8859_1_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_iso8859_1 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1250_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1250 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1251_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1251 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1252_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1252 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1253_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1253 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1254_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1254 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1255_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1255 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1256_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1256 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1257_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1257 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int win1258_to_utf8 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static int utf8_to_win1258 (unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
 
static void init_char_encoders (void)
 
const CLSIDDOMDocument_version (MSXML_VERSION v)
 
BOOL WINAPI DllMain (HINSTANCE hInstDLL, DWORD fdwReason, LPVOID reserved)
 

Variables

HINSTANCE MSXML_hInstance = NULL
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 22 of file main.c.

Function Documentation

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hInstDLL,
DWORD  fdwReason,
LPVOID  reserved 
)

Definition at line 360 of file main.c.

361{
362 MSXML_hInstance = hInstDLL;
363
364 switch(fdwReason)
365 {
368
369 /* Set the default indent character to a single tab,
370 for this thread and as default for new threads */
371 xmlTreeIndentString = "\t";
372 xmlThrDefTreeIndentString("\t");
373
374 /* Register callbacks for loading XML files */
377 WARN("Failed to register callbacks\n");
378
380
381 schemasInit();
382 init_libxslt();
384 break;
386 if (reserved) break;
388 /* Restore default Callbacks */
391
395 break;
396 }
397 return TRUE;
398}
void xsltCleanupGlobals(void)
Definition: extensions.c:2295
static DWORD const fdwReason
void release_typelib(void)
Definition: apps.c:159
#define WARN(fmt,...)
Definition: precomp.h:61
#define TRUE
Definition: types.h:120
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
#define DLL_PROCESS_DETACH
Definition: compat.h:130
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
static void init_libxslt(void)
Definition: main.c:156
static void * wineXmlOpenCallback(char const *filename)
Definition: main.c:117
static void init_char_encoders(void)
Definition: main.c:315
static int wineXmlFileCloseCallback(void *context)
Definition: main.c:151
static int wineXmlReadCallback(void *context, char *buffer, int len)
Definition: main.c:131
static int wineXmlMatchCallback(char const *filename)
Definition: main.c:100
HINSTANCE MSXML_hInstance
Definition: main.c:51
r reserved
Definition: btrfs.c:3006
void schemasCleanup(void)
Definition: schema.c:748
void schemasInit(void)
Definition: schema.c:717
XML_GLOBALS_PARSER XMLPUBFUN void xmlInitParser(void)
Definition: threads.c:569
XMLPUBFUN void xmlCleanupParser(void)
Definition: threads.c:630
XMLPUBFUN void xmlRegisterDefaultInputCallbacks(void)
XML_GLOBALS_IO XMLPUBFUN void xmlCleanupInputCallbacks(void)
XMLPUBFUN int xmlRegisterInputCallbacks(xmlInputMatchCallback matchFunc, xmlInputOpenCallback openFunc, xmlInputReadCallback readFunc, xmlInputCloseCallback closeFunc)

◆ DOMDocument_version()

const CLSID * DOMDocument_version ( MSXML_VERSION  v)

Definition at line 348 of file main.c.

349{
350 switch (v)
351 {
352 default:
353 case MSXML_DEFAULT: return &CLSID_DOMDocument;
354 case MSXML3: return &CLSID_DOMDocument30;
355 case MSXML4: return &CLSID_DOMDocument40;
356 case MSXML6: return &CLSID_DOMDocument60;
357 }
358}
const GLdouble * v
Definition: gl.h:2040
const struct _GUID CLSID_DOMDocument
@ MSXML_DEFAULT
Definition: msxml_dispex.h:28
@ MSXML4
Definition: msxml_dispex.h:32
@ MSXML6
Definition: msxml_dispex.h:33
@ MSXML3
Definition: msxml_dispex.h:31

Referenced by PersistStreamInit_GetClassID().

◆ from_utf8()

static int from_utf8 ( int  cp,
unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 186 of file main.c.

187{
188 WCHAR *tmp;
189 int len = 0;
190
191 if (!in || !inlen || !*inlen) goto done;
192
193 len = MultiByteToWideChar(CP_UTF8, 0, (const char *)in, *inlen, NULL, 0);
194 tmp = malloc(len * sizeof(WCHAR));
195 if (!tmp) return -1;
196 MultiByteToWideChar(CP_UTF8, 0, (const char *)in, *inlen, tmp, len);
197
198 len = WideCharToMultiByte(cp, 0, tmp, len, (char *)out, *outlen, NULL, NULL);
199 free(tmp);
200 if (!len) return -1;
201done:
202 *outlen = len;
203 return len;
204}
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
#define NULL
Definition: types.h:112
#define WideCharToMultiByte
Definition: compat.h:111
#define MultiByteToWideChar
Definition: compat.h:110
GLuint in
Definition: glext.h:9616
GLenum GLsizei len
Definition: glext.h:6722
POINT cp
Definition: magnifier.c:59
#define CP_UTF8
Definition: nls.h:20
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by utf8_to_gbk(), utf8_to_iso8859_1(), utf8_to_win1250(), utf8_to_win1251(), utf8_to_win1252(), utf8_to_win1253(), utf8_to_win1254(), utf8_to_win1255(), utf8_to_win1256(), utf8_to_win1257(), and utf8_to_win1258().

◆ gbk_to_utf8()

static int gbk_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 206 of file main.c.

207{
208 return to_utf8(936, out, outlen, in, inlen);
209}
static int to_utf8(int cp, unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:166

Referenced by init_char_encoders().

◆ init_char_encoders()

static void init_char_encoders ( void  )
static

Definition at line 315 of file main.c.

316{
317 static const struct
318 {
319 const char *encoding;
322 } encoder[] =
323 {
324 { "gbk", gbk_to_utf8, utf8_to_gbk },
325 { "iso8859-1", iso8859_1_to_utf8, utf8_to_iso8859_1 },
326 { "windows-1250", win1250_to_utf8, utf8_to_win1250 },
327 { "windows-1251", win1251_to_utf8, utf8_to_win1251 },
328 { "windows-1252", win1252_to_utf8, utf8_to_win1252 },
329 { "windows-1253", win1253_to_utf8, utf8_to_win1253 },
330 { "windows-1254", win1254_to_utf8, utf8_to_win1254 },
331 { "windows-1255", win1255_to_utf8, utf8_to_win1255 },
332 { "windows-1256", win1256_to_utf8, utf8_to_win1256 },
333 { "windows-1257", win1257_to_utf8, utf8_to_win1257 },
334 { "windows-1258", win1258_to_utf8, utf8_to_win1258 }
335 };
336 int i;
337
338 for (i = 0; i < ARRAY_SIZE(encoder); i++)
339 {
340 if (!xmlFindCharEncodingHandler(encoder[i].encoding))
341 {
342 TRACE("Adding %s encoding handler\n", encoder[i].encoding);
344 }
345 }
346}
#define ARRAY_SIZE(A)
Definition: main.h:20
static int win1256_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:285
static int utf8_to_win1258(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:310
static int utf8_to_win1252(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:251
static int utf8_to_win1250(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:231
static int utf8_to_iso8859_1(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:221
static int win1252_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:246
static int iso8859_1_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:216
static int utf8_to_win1254(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:270
static int utf8_to_win1257(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:300
static int win1253_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:256
static int win1257_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:295
static int utf8_to_win1256(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:290
static int win1258_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:305
static int utf8_to_gbk(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:211
static int utf8_to_win1251(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:241
static int gbk_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:206
static int win1251_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:236
static int utf8_to_win1253(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:261
static int win1255_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:275
static int utf8_to_win1255(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:280
static int win1250_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:226
static int win1254_to_utf8(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:265
xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name)
Definition: encoding.c:1677
xmlCharEncodingHandlerPtr xmlNewCharEncodingHandler(const char *name, xmlCharEncodingInputFunc input, xmlCharEncodingOutputFunc output)
Definition: encoding.c:1394
int(* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: encoding.h:130
int(* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: encoding.h:108
GLenum GLenum GLenum input
Definition: glext.h:9031
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by DllMain().

◆ init_libxslt()

static void init_libxslt ( void  )
static

Definition at line 156 of file main.c.

157{
158 xsltInit();
161 (const xmlChar *)"node-set",
162 (const xmlChar *)"urn:schemas-microsoft-com:xslt",
164}
int xsltRegisterExtModuleFunction(const xmlChar *name, const xmlChar *URI, xmlXPathFunction function)
Definition: extensions.c:1410
void xsltFunctionNodeSet(xmlXPathParserContextPtr ctxt, int nargs)
Definition: extra.c:129
void xsltSetLoaderFunc(xsltDocLoaderFunc f)
Definition: documents.c:119
xmlDocPtr xslt_doc_default_loader(const xmlChar *uri, xmlDictPtr dict, int options, void *_ctxt, xsltLoadType type)
Definition: node.c:1401
unsigned char xmlChar
Definition: xmlstring.h:28
void xsltInit(void)
Definition: xslt.c:216

Referenced by DllMain().

◆ iso8859_1_to_utf8()

static int iso8859_1_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 216 of file main.c.

217{
218 return to_utf8(28591, out, outlen, in, inlen);
219}

Referenced by init_char_encoders().

◆ to_utf8()

static int to_utf8 ( int  cp,
unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 166 of file main.c.

167{
168 WCHAR *tmp;
169 int len = 0;
170
171 if (!in || !inlen || !*inlen) goto done;
172
173 len = MultiByteToWideChar(cp, 0, (const char *)in, *inlen, NULL, 0);
174 tmp = malloc(len * sizeof(WCHAR));
175 if (!tmp) return -1;
176 MultiByteToWideChar(cp, 0, (const char *)in, *inlen, tmp, len);
177
178 len = WideCharToMultiByte(CP_UTF8, 0, tmp, len, (char *)out, *outlen, NULL, NULL);
179 free(tmp);
180 if (!len) return -1;
181done:
182 *outlen = len;
183 return len;
184}

Referenced by gbk_to_utf8(), iso8859_1_to_utf8(), win1250_to_utf8(), win1251_to_utf8(), win1252_to_utf8(), win1253_to_utf8(), win1254_to_utf8(), win1255_to_utf8(), win1256_to_utf8(), win1257_to_utf8(), and win1258_to_utf8().

◆ utf8_to_gbk()

static int utf8_to_gbk ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 211 of file main.c.

212{
213 return from_utf8(936, out, outlen, in, inlen);
214}
static int from_utf8(int cp, unsigned char *out, int *outlen, const unsigned char *in, int *inlen)
Definition: main.c:186

Referenced by init_char_encoders().

◆ utf8_to_iso8859_1()

static int utf8_to_iso8859_1 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 221 of file main.c.

222{
223 return from_utf8(28591, out, outlen, in, inlen);
224}

Referenced by init_char_encoders().

◆ utf8_to_win1250()

static int utf8_to_win1250 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 231 of file main.c.

232{
233 return from_utf8(1250, out, outlen, in, inlen);
234}

Referenced by init_char_encoders().

◆ utf8_to_win1251()

static int utf8_to_win1251 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 241 of file main.c.

242{
243 return from_utf8(1251, out, outlen, in, inlen);
244}

Referenced by init_char_encoders().

◆ utf8_to_win1252()

static int utf8_to_win1252 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 251 of file main.c.

252{
253 return from_utf8(1252, out, outlen, in, inlen);
254}

Referenced by init_char_encoders().

◆ utf8_to_win1253()

static int utf8_to_win1253 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 261 of file main.c.

262{
263 return from_utf8(1253, out, outlen, in, inlen);
264}

Referenced by init_char_encoders().

◆ utf8_to_win1254()

static int utf8_to_win1254 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 270 of file main.c.

271{
272 return from_utf8(1254, out, outlen, in, inlen);
273}

Referenced by init_char_encoders().

◆ utf8_to_win1255()

static int utf8_to_win1255 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 280 of file main.c.

281{
282 return from_utf8(1255, out, outlen, in, inlen);
283}

Referenced by init_char_encoders().

◆ utf8_to_win1256()

static int utf8_to_win1256 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 290 of file main.c.

291{
292 return from_utf8(1256, out, outlen, in, inlen);
293}

Referenced by init_char_encoders().

◆ utf8_to_win1257()

static int utf8_to_win1257 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 300 of file main.c.

301{
302 return from_utf8(1257, out, outlen, in, inlen);
303}

Referenced by init_char_encoders().

◆ utf8_to_win1258()

static int utf8_to_win1258 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 310 of file main.c.

311{
312 return from_utf8(1258, out, outlen, in, inlen);
313}

Referenced by init_char_encoders().

◆ win1250_to_utf8()

static int win1250_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 226 of file main.c.

227{
228 return to_utf8(1250, out, outlen, in, inlen);
229}

Referenced by init_char_encoders().

◆ win1251_to_utf8()

static int win1251_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 236 of file main.c.

237{
238 return to_utf8(1251, out, outlen, in, inlen);
239}

Referenced by init_char_encoders().

◆ win1252_to_utf8()

static int win1252_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 246 of file main.c.

247{
248 return to_utf8(1252, out, outlen, in, inlen);
249}

Referenced by init_char_encoders().

◆ win1253_to_utf8()

static int win1253_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 256 of file main.c.

257{
258 return to_utf8(1253, out, outlen, in, inlen);
259}

Referenced by init_char_encoders().

◆ win1254_to_utf8()

static int win1254_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 265 of file main.c.

266{
267 return to_utf8(1254, out, outlen, in, inlen);
268}

Referenced by init_char_encoders().

◆ win1255_to_utf8()

static int win1255_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 275 of file main.c.

276{
277 return to_utf8(1255, out, outlen, in, inlen);
278}

Referenced by init_char_encoders().

◆ win1256_to_utf8()

static int win1256_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 285 of file main.c.

286{
287 return to_utf8(1256, out, outlen, in, inlen);
288}

Referenced by init_char_encoders().

◆ win1257_to_utf8()

static int win1257_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 295 of file main.c.

296{
297 return to_utf8(1257, out, outlen, in, inlen);
298}

Referenced by init_char_encoders().

◆ win1258_to_utf8()

static int win1258_to_utf8 ( unsigned char out,
int outlen,
const unsigned char in,
int inlen 
)
static

Definition at line 305 of file main.c.

306{
307 return to_utf8(1258, out, outlen, in, inlen);
308}

Referenced by init_char_encoders().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( msxml  )

◆ wineXmlCallbackError()

void wineXmlCallbackError ( char const caller,
const xmlError err 
)

Definition at line 81 of file main.c.

82{
83 enum __wine_debug_class dbcl;
84
85 switch (err->level)
86 {
87 case XML_ERR_NONE: dbcl = __WINE_DBCL_TRACE; break;
88 case XML_ERR_WARNING: dbcl = __WINE_DBCL_WARN; break;
89 default: dbcl = __WINE_DBCL_ERR; break;
90 }
91
92 wine_dbg_log(dbcl, &__wine_dbch_msxml, caller, "error code %d", err->code);
93 if (err->message)
94 wine_dbg_log(dbcl, &__wine_dbch_msxml, caller, ": %s", err->message);
95 else
96 wine_dbg_log(dbcl, &__wine_dbch_msxml, caller, "\n");
97}
#define err(...)
__wine_debug_class
Definition: debug.h:50
@ __WINE_DBCL_ERR
Definition: debug.h:52
@ __WINE_DBCL_TRACE
Definition: debug.h:54
@ __WINE_DBCL_WARN
Definition: debug.h:53
const char int int wine_dbg_log(enum __wine_debug_class cls, struct __wine_debug_channel *ch, const char *func, const char *format,...) __WINE_PRINTF_ATTR(4
@ XML_ERR_WARNING
Definition: xmlerror.h:26
@ XML_ERR_NONE
Definition: xmlerror.h:25

◆ wineXmlCallbackLog()

void wineXmlCallbackLog ( char const caller,
xmlErrorLevel  lvl,
char const msg,
va_list  ap 
)

Definition at line 55 of file main.c.

56{
57 enum __wine_debug_class dbcl;
58 char buff[200];
59 const int max_size = ARRAY_SIZE(buff);
60 int len;
61
62 switch (lvl)
63 {
64 case XML_ERR_NONE:
65 dbcl = __WINE_DBCL_TRACE;
66 break;
67 case XML_ERR_WARNING:
68 dbcl = __WINE_DBCL_WARN;
69 break;
70 default:
71 dbcl = __WINE_DBCL_ERR;
72 break;
73 }
74
76 if (len == -1 || len >= max_size) buff[max_size-1] = 0;
77
78 wine_dbg_log(dbcl, &__wine_dbch_msxml, caller, "%s", buff);
79}
#define msg(x)
Definition: auth_time.c:54
static INT max_size
Definition: history.c:51
static unsigned char buff[32768]
Definition: fatten.c:17
#define vsnprintf
Definition: tif_win32.c:406
void int int ULONGLONG int va_list * ap
Definition: winesup.h:36

◆ wineXmlFileCloseCallback()

static int wineXmlFileCloseCallback ( void context)
static

Definition at line 151 of file main.c.

152{
153 return CloseHandle(context) ? 0 : -1;
154}
#define CloseHandle
Definition: compat.h:739
Definition: http.c:7252

Referenced by DllMain().

◆ wineXmlMatchCallback()

static int wineXmlMatchCallback ( char const filename)
static

Definition at line 100 of file main.c.

101{
102 int nRet = 0;
103
104 TRACE("%s\n", filename);
105
106 /*
107 * We will deal with loading XML files from the file system
108 * We only care about files that linux cannot find.
109 * e.g. C:,D: etc
110 */
111 if(isalpha(filename[0]) && filename[1] == ':')
112 nRet = 1;
113
114 return nRet;
115}
#define isalpha(c)
Definition: acclib.h:74
const char * filename
Definition: ioapi.h:137

Referenced by DllMain().

◆ wineXmlOpenCallback()

static void * wineXmlOpenCallback ( char const filename)
static

Definition at line 117 of file main.c.

118{
119 BSTR sFilename = bstr_from_xmlChar( (const xmlChar*)filename);
121
122 TRACE("%s\n", debugstr_w(sFilename));
123
127 SysFreeString(sFilename);
128 return hFile;
129}
#define OPEN_EXISTING
Definition: compat.h:775
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
OLECHAR * BSTR
Definition: compat.h:2293
#define GENERIC_READ
Definition: compat.h:135
#define CreateFileW
Definition: compat.h:741
#define FILE_ATTRIBUTE_NORMAL
Definition: compat.h:137
#define FILE_SHARE_READ
Definition: compat.h:136
#define debugstr_w
Definition: kernel32.h:32
_In_ HANDLE hFile
Definition: mswsock.h:90
static BSTR bstr_from_xmlChar(const xmlChar *str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271

Referenced by DllMain().

◆ wineXmlReadCallback()

static int wineXmlReadCallback ( void context,
char buffer,
int  len 
)
static

Definition at line 131 of file main.c.

132{
133 DWORD dwBytesRead;
134
135 TRACE("%p %s %d\n", context, buffer, len);
136
137 if ((context == NULL) || (buffer == NULL))
138 return(-1);
139
140 if(!ReadFile( context, buffer,len, &dwBytesRead, NULL))
141 {
142 ERR("Failed to read file\n");
143 return -1;
144 }
145
146 TRACE("Read %ld bytes.\n", dwBytesRead);
147
148 return dwBytesRead;
149}
#define ERR(fmt,...)
Definition: precomp.h:57
#define ReadFile(a, b, c, d, e)
Definition: compat.h:742
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint buffer
Definition: glext.h:5915

Referenced by DllMain().

Variable Documentation

◆ MSXML_hInstance

HINSTANCE MSXML_hInstance = NULL

Definition at line 51 of file main.c.

Referenced by DllMain(), external_entity_loader(), and schemasInit().