19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
-
+
|
** Opaque handle for interpeter.
*/
typedef struct Th_Interp Th_Interp;
/*
** Create and delete interpreters.
*/
Th_Interp * Th_CreateInterp(Th_Vtab *pVtab);
Th_Interp * Th_CreateInterp(void);
void Th_DeleteInterp(Th_Interp *);
/*
** Evaluate an TH program in the stack frame identified by parameter
** iFrame, according to the following rules:
**
** * If iFrame is 0, this means the current frame.
|
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
+
+
+
-
-
+
+
+
|
*/
int Th_ErrorMessage(Th_Interp *, const char *, const char *, int);
/*
** Access the memory management functions associated with the specified
** interpreter.
*/
void *fossil_malloc_zero(size_t);
void *fossil_realloc(void*,size_t);
void fossil_free(void*);
void *Th_Malloc(Th_Interp *, int);
void Th_Free(Th_Interp *, void *);
#define Th_Malloc(I,N) fossil_malloc_zero(N)
#define Th_Realloc(I,P,N) fossil_realloc(P,N)
#define Th_Free(I,P) fossil_free(P)
/*
** Functions for handling TH lists.
*/
int Th_ListAppend(Th_Interp *, char **, int *, const char *, int);
int Th_SplitList(Th_Interp *, const char *, int, char ***, int **, int *);
|