@@ -30,14 +30,23 @@
30 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_NONE ((u32)0x00000000) /* No flags. */
31 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_NEED_CONFIG ((u32)0x00000001) /* Open configuration first? */
32 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_FORCE_TCL ((u32)0x00000002) /* Force Tcl to be enabled? */
33 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_FORCE_RESET ((u32)0x00000004) /* Force TH1 commands re-added? */
34 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_FORCE_SETUP ((u32)0x00000008) /* Force eval of setup script? */
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define TH_INIT_MASK ((u32)0x0000000F) /* All possible init flags. */
35 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_DEFAULT (TH_INIT_NONE) /* Default flags. */
36 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define TH_INIT_HOOK (TH_INIT_NEED_CONFIG | TH_INIT_FORCE_SETUP)
37 38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
38 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Flags set by functions in this file to keep track of integration state
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** information. These flags should not be used outside of this file.
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define TH_STATE_CONFIG ((u32)0x00000010) /* We opened the config. */
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define TH_STATE_REPOSITORY ((u32)0x00000020) /* We opened the repository. */
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define TH_STATE_MASK ((u32)0x00000030) /* All possible state flags. */
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
39 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef FOSSIL_ENABLE_TH1_HOOKS
40 49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
41 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** These are the "well-known" TH1 error messages that occur when no hook is
42 51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** registered to be called prior to executing a command or processing a web
43 52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** page, respectively. If one of these errors is seen, it will not be sent
@@ -45,10 +54,17 @@
45 54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
46 55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define NO_COMMAND_HOOK_ERROR "no such command: command_hook"
47 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define NO_WEBPAGE_HOOK_ERROR "no such command: webpage_hook"
48 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
49 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** These macros are used within this file to detect if the repository and
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** configuration ("user") database are currently open.
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define Th_IsRepositoryOpen() (g.repositoryOpen)
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define Th_IsConfigOpen() (g.zConfigDbName!=0)
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
50 66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
51 67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Global variable counting the number of outstanding calls to malloc()
52 68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** made by the th1 implementation. This is used to catch memory leaks
53 69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** in the interpreter. Obviously, it also means th1 is not threadsafe.
54 70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -721,16 +737,16 @@
721 737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int *argl
722 738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
723 739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( argc!=2 ){
724 740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return Th_WrongNumArgs(interp, "styleHeader TITLE");
725 741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.zConfigDbName ){
742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( Th_IsRepositoryOpen() ){
727 743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_header("%s", argv[1]);
728 744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_SetResult(interp, 0, 0);
729 745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return TH_OK;
730 746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_SetResult(interp, "configuration unavailable", -1);
747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_SetResult(interp, "repository unavailable", -1);
732 748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return TH_ERROR;
733 749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
734 750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
735 751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
736 752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -746,16 +762,16 @@
746 762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int *argl
747 763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
748 764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( argc!=1 ){
749 765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return Th_WrongNumArgs(interp, "styleFooter");
750 766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.zConfigDbName ){
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( Th_IsRepositoryOpen() ){
752 768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_footer();
753 769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_SetResult(interp, 0, 0);
754 770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return TH_OK;
755 771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_SetResult(interp, "configuration unavailable", -1);
772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_SetResult(interp, "repository unavailable", -1);
757 773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return TH_ERROR;
758 774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
759 775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
760 776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
761 777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef _WIN32
@@ -1162,26 +1178,42 @@
1162 1178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** attempts to try to find the repository and open it.
1163 1179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1164 1180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void Th_OpenConfig(
1165 1181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int openRepository
1166 1182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( openRepository ){
1183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( openRepository && !Th_IsRepositoryOpen() ){
1168 1184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_find_and_open_repository(OPEN_ANY_SCHEMA | OPEN_OK_NOT_FOUND, 0);
1185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( Th_IsRepositoryOpen() ){
1186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags |= TH_STATE_REPOSITORY;
1187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
1188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags &= ~TH_STATE_REPOSITORY;
1189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1169 1190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_open_config(0);
1191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !Th_IsConfigOpen() ){
1192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_open_config(0);
1193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( Th_IsConfigOpen() ){
1194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags |= TH_STATE_CONFIG;
1195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
1196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags &= ~TH_STATE_CONFIG;
1197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1171 1199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1172 1200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1173 1201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1174 1202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Attempts to close the configuration ("user") database. Optionally, also
1175 1203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** attempts to close the repository.
1176 1204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1177 1205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void Th_CloseConfig(
1178 1206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int closeRepository
1179 1207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_close_config();
1181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( closeRepository ){
1208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.th1Flags & TH_STATE_CONFIG ){
1209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_close_config();
1210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags &= ~TH_STATE_CONFIG;
1211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( closeRepository && (g.th1Flags & TH_STATE_REPOSITORY) ){
1182 1213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_close(1);
1214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags &= ~TH_STATE_REPOSITORY;
1183 1215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1184 1216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1185 1217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1186 1218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1187 1219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Make sure the interpreter has been initialized. Initialize it if
@@ -1284,10 +1316,12 @@
1284 1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.thTrace ){
1285 1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Trace("th1-setup {%h} => %h<br />\n", g.th1Setup,
1286 1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_ReturnCodeName(rc, 0));
1287 1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1288 1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags &= ~TH_INIT_MASK;
1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Flags |= (flags & TH_INIT_MASK);
1289 1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1290 1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1291 1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1292 1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Store a string value in a variable in the interpreter.
1293 1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -1434,10 +1468,11 @@
1434 1468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char cmdFlags
1435 1469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1436 1470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = TH_OK;
1437 1471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_OpenConfig(1);
1438 1472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_getenv("TH1_ENABLE_HOOKS")==0 && !db_get_boolean("th1-hooks", 0) ){
1473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_CloseConfig(1);
1439 1474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
1440 1475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1441 1476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_CloseConfig(1);
1442 1477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_FossilInit(TH_INIT_HOOK);
1443 1478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Store("cmd_name", zName);
@@ -1481,10 +1516,11 @@
1481 1516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char cmdFlags
1482 1517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1483 1518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = TH_OK;
1484 1519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_OpenConfig(1);
1485 1520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_getenv("TH1_ENABLE_HOOKS")==0 && !db_get_boolean("th1-hooks", 0) ){
1521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_CloseConfig(1);
1486 1522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
1487 1523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1488 1524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_CloseConfig(1);
1489 1525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_FossilInit(TH_INIT_HOOK);
1490 1526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Store("cmd_name", zName);
@@ -1509,10 +1545,11 @@
1509 1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char cmdFlags
1510 1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1511 1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = TH_OK;
1512 1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_OpenConfig(1);
1513 1549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_getenv("TH1_ENABLE_HOOKS")==0 && !db_get_boolean("th1-hooks", 0) ){
1550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_CloseConfig(1);
1514 1551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
1515 1552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1516 1553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_CloseConfig(1);
1517 1554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_FossilInit(TH_INIT_HOOK);
1518 1555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Store("web_name", zName);
@@ -1556,10 +1593,11 @@
1556 1593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char cmdFlags
1557 1594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1558 1595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = TH_OK;
1559 1596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_OpenConfig(1);
1560 1597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_getenv("TH1_ENABLE_HOOKS")==0 && !db_get_boolean("th1-hooks", 0) ){
1598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_CloseConfig(1);
1561 1599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
1562 1600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1563 1601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_CloseConfig(1);
1564 1602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_FossilInit(TH_INIT_HOOK);
1565 1603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Store("web_name", zName);
@@ -1680,10 +1718,11 @@
1680 1718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1681 1719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void test_th_hook(void){
1682 1720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = TH_OK;
1683 1721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nResult = 0;
1684 1722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zResult;
1723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_InitTraceLog();
1685 1724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc<5 ){
1686 1725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("TYPE NAME FLAGS");
1687 1726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1688 1727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_stricmp(g.argv[2], "cmdhook")==0 ){
1689 1728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = Th_CommandHook(g.argv[3], (char)atoi(g.argv[4]));
@@ -1700,7 +1739,8 @@
1700 1739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText("RESULT (", -1, 0);
1701 1740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText(Th_ReturnCodeName(rc, 0), -1, 0);
1702 1741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText("): ", -1, 0);
1703 1742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText(zResult, nResult, 0);
1704 1743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText("\n", -1, 0);
1744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_PrintTraceLog();
1705 1745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1706 1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
1707 1747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!