Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Reverted my fix for [c6cc9e097be16bd3] from the previous commit and applied the better one proposed by mr_calvin.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 5a424c365fd7741e6fca3d1d8e12034113deb7006cfb61fe179da1cb28fc05e9
User & Date: rolf 2020-06-11 00:48:44
Context
2020-07-02
01:42
The expat command option -namespace now may appear anywhere in the options list. Improved expat command option checking. Fixed the one test, that without need in the context used the -noexpand option and that syntactically wrong. Added a few basic texts for -noexpand. Fixed <parser> cget -useForeignDTD. check-in: 3779fdc2c3 user: rolf tags: trunk
2020-06-11
00:52
Merged from trunk. check-in: f782953f52 user: rolf tags: schema
00:48
Reverted my fix for [c6cc9e097be16bd3] from the previous commit and applied the better one proposed by mr_calvin. check-in: 5a424c365f user: rolf tags: trunk
2020-06-09
22:51
Reverted part of [d41caf001d9d4d2a], as attempt to fix [c6cc9e097be16bd3]. check-in: 2d46161b9f user: rolf tags: trunk
Changes

Changes to generic/tdomDecls.h.

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#endif

/*
 * Exported function declarations:
 */

/* 0 */
EXTERN int		TclExpatObjCmd(ClientData dummy, Tcl_Interp *interp,
				int objc, Tcl_Obj *const objv[]);
/* 1 */
EXTERN int		CheckExpatParserObj(Tcl_Interp *interp,
				Tcl_Obj *const nameObj);
/* 2 */
EXTERN int		CHandlerSetInstall(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				CHandlerSet *handlerSet);
/* 3 */
EXTERN int		CHandlerSetRemove(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 4 */
EXTERN CHandlerSet *	CHandlerSetCreate(char *name);
/* 5 */
EXTERN CHandlerSet *	CHandlerSetGet(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 6 */
EXTERN void *		CHandlerSetGetUserData(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 7 */
EXTERN TclGenExpatInfo * GetExpatInfo(Tcl_Interp *interp,
				Tcl_Obj *const expatObj);
/* 8 */
EXTERN XML_Size		XML_GetCurrentLineNumber(XML_Parser parser);
/* 9 */
EXTERN XML_Size		XML_GetCurrentColumnNumber(XML_Parser parser);
/* 10 */
EXTERN XML_Index	XML_GetCurrentByteIndex(XML_Parser parser);
/* 11 */
EXTERN int		XML_GetCurrentByteCount(XML_Parser parser);
/* 12 */
EXTERN enum XML_Status	XML_SetBase(XML_Parser parser, const XML_Char *base);
/* 13 */
EXTERN const XML_Char *	 XML_GetBase(XML_Parser parser);
/* 14 */
EXTERN int		XML_GetSpecifiedAttributeCount(XML_Parser parser);
/* 15 */
EXTERN int		XML_GetIdAttributeIndex(XML_Parser parser);
/* 16 */
EXTERN domNode *	tcldom_getNodeFromName(Tcl_Interp *interp,
				char *nodeName, char **errMsg);
/* 17 */
EXTERN domDocument *	tcldom_getDocumentFromName(Tcl_Interp *interp,
				char *docName, char **errMsg);

typedef struct TdomStubs {
    int magic;
    void *hooks;

    int (*tclExpatObjCmd) (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 0 */
................................................................................
    const XML_Char * (*xML_GetBase) (XML_Parser parser); /* 13 */
    int (*xML_GetSpecifiedAttributeCount) (XML_Parser parser); /* 14 */
    int (*xML_GetIdAttributeIndex) (XML_Parser parser); /* 15 */
    domNode * (*tcldom_getNodeFromName) (Tcl_Interp *interp, char *nodeName, char **errMsg); /* 16 */
    domDocument * (*tcldom_getDocumentFromName) (Tcl_Interp *interp, char *docName, char **errMsg); /* 17 */
} TdomStubs;

extern const TdomStubs *tdomStubsPtr;

#ifdef __cplusplus
}
#endif

#if defined(USE_TDOM_STUBS)








|


|


|



|



|

|



|



|


|

|

|

|

|

|

|

|

|


|







 







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#endif

/*
 * Exported function declarations:
 */

/* 0 */
int		TclExpatObjCmd(ClientData dummy, Tcl_Interp *interp,
				int objc, Tcl_Obj *const objv[]);
/* 1 */
int		CheckExpatParserObj(Tcl_Interp *interp,
				Tcl_Obj *const nameObj);
/* 2 */
int		CHandlerSetInstall(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				CHandlerSet *handlerSet);
/* 3 */
int		CHandlerSetRemove(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 4 */
CHandlerSet *	CHandlerSetCreate(char *name);
/* 5 */
CHandlerSet *	CHandlerSetGet(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 6 */
void *		CHandlerSetGetUserData(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 7 */
TclGenExpatInfo * GetExpatInfo(Tcl_Interp *interp,
				Tcl_Obj *const expatObj);
/* 8 */
XML_Size		XML_GetCurrentLineNumber(XML_Parser parser);
/* 9 */
XML_Size		XML_GetCurrentColumnNumber(XML_Parser parser);
/* 10 */
XML_Index	XML_GetCurrentByteIndex(XML_Parser parser);
/* 11 */
int		XML_GetCurrentByteCount(XML_Parser parser);
/* 12 */
enum XML_Status	XML_SetBase(XML_Parser parser, const XML_Char *base);
/* 13 */
const XML_Char *	 XML_GetBase(XML_Parser parser);
/* 14 */
int		XML_GetSpecifiedAttributeCount(XML_Parser parser);
/* 15 */
int		XML_GetIdAttributeIndex(XML_Parser parser);
/* 16 */
domNode *	tcldom_getNodeFromName(Tcl_Interp *interp,
				char *nodeName, char **errMsg);
/* 17 */
domDocument *	tcldom_getDocumentFromName(Tcl_Interp *interp,
				char *docName, char **errMsg);

typedef struct TdomStubs {
    int magic;
    void *hooks;

    int (*tclExpatObjCmd) (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 0 */
................................................................................
    const XML_Char * (*xML_GetBase) (XML_Parser parser); /* 13 */
    int (*xML_GetSpecifiedAttributeCount) (XML_Parser parser); /* 14 */
    int (*xML_GetIdAttributeIndex) (XML_Parser parser); /* 15 */
    domNode * (*tcldom_getNodeFromName) (Tcl_Interp *interp, char *nodeName, char **errMsg); /* 16 */
    domDocument * (*tcldom_getDocumentFromName) (Tcl_Interp *interp, char *docName, char **errMsg); /* 17 */
} TdomStubs;

EXTERN const TdomStubs *tdomStubsPtr;

#ifdef __cplusplus
}
#endif

#if defined(USE_TDOM_STUBS)

Changes to generic/tdominit.c.

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
\---------------------------------------------------------------------------*/
#include <tcl.h>
#include <dom.h>
#include <tdom.h>
#include <tcldom.h>
#include <tclpull.h>

extern TdomStubs tdomStubs;

/*
 *----------------------------------------------------------------------------
 *
 * Tdom_Init --
 *
 *	Initialization routine for loadable module
................................................................................

#ifndef TDOM_NO_PULL
    Tcl_CreateObjCommand(interp, "tdom::pullparser", tDOM_PullParserCmd, NULL, NULL );    
#endif
    
#ifdef USE_TCL_STUBS
    Tcl_PkgProvideEx(interp, PACKAGE_NAME, PACKAGE_VERSION, 
                     (ClientData) &tdomStubs);
#else
    Tcl_PkgProvide(interp, PACKAGE_NAME, PACKAGE_VERSION);
#endif

    return TCL_OK;
}








|







 







|







37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
\---------------------------------------------------------------------------*/
#include <tcl.h>
#include <dom.h>
#include <tdom.h>
#include <tcldom.h>
#include <tclpull.h>

const TdomStubs *tdomStubsPtr;

/*
 *----------------------------------------------------------------------------
 *
 * Tdom_Init --
 *
 *	Initialization routine for loadable module
................................................................................

#ifndef TDOM_NO_PULL
    Tcl_CreateObjCommand(interp, "tdom::pullparser", tDOM_PullParserCmd, NULL, NULL );    
#endif
    
#ifdef USE_TCL_STUBS
    Tcl_PkgProvideEx(interp, PACKAGE_NAME, PACKAGE_VERSION, 
                     (ClientData) tdomStubsPtr);
#else
    Tcl_PkgProvide(interp, PACKAGE_NAME, PACKAGE_VERSION);
#endif

    return TCL_OK;
}