Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Make TH1 command comments consistent. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
a17919af857c35b5ddb2d3e3dffdaf4a |
| User & Date: | mistachkin 2014-06-10 18:56:07.281 |
Context
|
2014-06-11
| ||
| 00:51 | Centralize the handling of opening the configuration database and repository on behalf of TH1. ... (check-in: 9773eba5fe user: mistachkin tags: trunk) | |
| 00:40 | Merge updates from trunk. ... (check-in: 715dcd52fe user: mistachkin tags: th1Hooks) | |
|
2014-06-10
| ||
| 19:59 | Add the 'checkout', 'render', 'styleHeader', 'styleFooter', and 'trace' TH1 commands. ... (check-in: c18ff5d005 user: mistachkin tags: th1Cmds) | |
| 18:56 | Make TH1 command comments consistent. ... (check-in: a17919af85 user: mistachkin tags: trunk) | |
| 05:01 | Modularization and cleanup of several test files. ... (check-in: 2c9d6b5e0f user: mistachkin tags: trunk) | |
Changes
Changes to src/th_main.c.
| ︙ | ︙ | |||
26 27 28 29 30 31 32 | /* ** Flag parameters to the Th_FossilInit() routine used to control the ** interpreter creation and initialization process. */ #define TH_INIT_NONE ((u32)0x00000000) /* No flags. */ #define TH_INIT_NEED_CONFIG ((u32)0x00000001) /* Open configuration first? */ #define TH_INIT_FORCE_TCL ((u32)0x00000002) /* Force Tcl to be enabled? */ | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /* ** Flag parameters to the Th_FossilInit() routine used to control the ** interpreter creation and initialization process. */ #define TH_INIT_NONE ((u32)0x00000000) /* No flags. */ #define TH_INIT_NEED_CONFIG ((u32)0x00000001) /* Open configuration first? */ #define TH_INIT_FORCE_TCL ((u32)0x00000002) /* Force Tcl to be enabled? */ #define TH_INIT_FORCE_RESET ((u32)0x00000004) /* Force TH1 commands re-added? */ #define TH_INIT_FORCE_SETUP ((u32)0x00000008) /* Force eval of setup script? */ #define TH_INIT_DEFAULT (TH_INIT_NONE) /* Default flags. */ #endif /* ** Global variable counting the number of outstanding calls to malloc() ** made by the th1 implementation. This is used to catch memory leaks |
| ︙ | ︙ | |||
97 98 99 100 101 102 103 |
fossil_print("\n------------------ BEGIN TRACE LOG ------------------\n");
fossil_print("%s", blob_str(&g.thLog));
fossil_print("\n------------------- END TRACE LOG -------------------\n");
}
}
/*
| | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
fossil_print("\n------------------ BEGIN TRACE LOG ------------------\n");
fossil_print("%s", blob_str(&g.thLog));
fossil_print("\n------------------- END TRACE LOG -------------------\n");
}
}
/*
** TH1 command: httpize STRING
**
** Escape all characters of STRING which have special meaning in URI
** components. Return a new string result.
*/
static int httpizeCmd(
Th_Interp *interp,
void *p,
|
| ︙ | ︙ | |||
125 126 127 128 129 130 131 | /* ** True if output is enabled. False if disabled. */ static int enableOutput = 1; /* | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | /* ** True if output is enabled. False if disabled. */ static int enableOutput = 1; /* ** TH1 command: enable_output BOOLEAN ** ** Enable or disable the puts and hputs commands. */ static int enableOutputCmd( Th_Interp *interp, void *p, int argc, |
| ︙ | ︙ | |||
200 201 202 203 204 205 206 |
sendText("ERROR: ", -1, 0);
sendText((char*)z, n, 1);
sendText(forceCgi || g.cgiOutput ? "</p>" : "\n", -1, 0);
enableOutput = savedEnable;
}
/*
| | | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 |
sendText("ERROR: ", -1, 0);
sendText((char*)z, n, 1);
sendText(forceCgi || g.cgiOutput ? "</p>" : "\n", -1, 0);
enableOutput = savedEnable;
}
/*
** TH1 command: puts STRING
** TH1 command: html STRING
**
** Output STRING escaped for HTML (html) or unchanged (puts).
*/
static int putsCmd(
Th_Interp *interp,
void *pConvert,
int argc,
const char **argv,
int *argl
){
if( argc!=2 ){
return Th_WrongNumArgs(interp, "puts STRING");
}
sendText((char*)argv[1], argl[1], *(unsigned int*)pConvert);
return TH_OK;
}
/*
** TH1 command: wiki STRING
**
** Render the input string as wiki.
*/
static int wikiCmd(
Th_Interp *interp,
void *p,
int argc,
|
| ︙ | ︙ | |||
245 246 247 248 249 250 251 |
wiki_convert(&src, 0, flags);
blob_reset(&src);
}
return TH_OK;
}
/*
| | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 |
wiki_convert(&src, 0, flags);
blob_reset(&src);
}
return TH_OK;
}
/*
** TH1 command: htmlize STRING
**
** Escape all characters of STRING which have special meaning in HTML.
** Return a new string result.
*/
static int htmlizeCmd(
Th_Interp *interp,
void *p,
|
| ︙ | ︙ | |||
268 269 270 271 272 273 274 | zOut = htmlize((char*)argv[1], argl[1]); Th_SetResult(interp, zOut, -1); free(zOut); return TH_OK; } /* | | | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | zOut = htmlize((char*)argv[1], argl[1]); Th_SetResult(interp, zOut, -1); free(zOut); return TH_OK; } /* ** TH1 command: date ** ** Return a string which is the current time and date. If the ** -local option is used, the date appears using localtime instead ** of UTC. */ static int dateCmd( Th_Interp *interp, |
| ︙ | ︙ | |||
293 294 295 296 297 298 299 | } Th_SetResult(interp, zOut, -1); free(zOut); return TH_OK; } /* | | | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | } Th_SetResult(interp, zOut, -1); free(zOut); return TH_OK; } /* ** TH1 command: hascap STRING... ** ** Return true if the user has all of the capabilities listed in STRING. */ static int hascapCmd( Th_Interp *interp, void *p, int argc, |
| ︙ | ︙ | |||
319 320 321 322 323 324 325 |
Th_Trace("[hascap %#h] => %d<br />\n", argl[1], argv[1], rc);
}
Th_SetResultInt(interp, rc);
return TH_OK;
}
/*
| | | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
Th_Trace("[hascap %#h] => %d<br />\n", argl[1], argv[1], rc);
}
Th_SetResultInt(interp, rc);
return TH_OK;
}
/*
** TH1 command: hasfeature STRING
**
** Return true if the fossil binary has the given compile-time feature
** enabled. The set of features includes:
**
** "ssl" = FOSSIL_ENABLE_SSL
** "tcl" = FOSSIL_ENABLE_TCL
** "useTclStubs" = USE_TCL_STUBS
|
| ︙ | ︙ | |||
391 392 393 394 395 396 397 | } Th_SetResultInt(interp, rc); return TH_OK; } /* | | | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | } Th_SetResultInt(interp, rc); return TH_OK; } /* ** TH1 command: tclReady ** ** Return true if the fossil binary has the Tcl integration feature ** enabled and it is currently available for use by TH1 scripts. ** */ static int tclReadyCmd( Th_Interp *interp, |
| ︙ | ︙ | |||
422 423 424 425 426 427 428 | } Th_SetResultInt(interp, rc); return TH_OK; } /* | | | 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | } Th_SetResultInt(interp, rc); return TH_OK; } /* ** TH1 command: anycap STRING ** ** Return true if the user has any one of the capabilities listed in STRING. */ static int anycapCmd( Th_Interp *interp, void *p, int argc, |
| ︙ | ︙ | |||
857 858 859 860 861 862 863 |
rc = TH_ERROR;
}
re_free(pRe);
return rc;
}
/*
| | | 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 |
rc = TH_ERROR;
}
re_free(pRe);
return rc;
}
/*
** TH1 command: http ?-asynchronous? ?--? url ?payload?
**
** Perform an HTTP or HTTPS request for the specified URL. If a
** payload is present, it will be interpreted as text/plain and
** the POST method will be used; otherwise, the GET method will
** be used. Upon success, if the -asynchronous option is used, an
** empty string is returned as the result; otherwise, the response
** from the server is returned as the result. Synchronous requests
|
| ︙ | ︙ |
Changes to src/tkt.c.
| ︙ | ︙ | |||
472 473 474 475 476 477 478 |
attachment_list(zFullName, "<hr /><h2>Attachments:</h2><ul>");
}
style_footer();
}
/*
| | | 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 |
attachment_list(zFullName, "<hr /><h2>Attachments:</h2><ul>");
}
style_footer();
}
/*
** TH1 command: append_field FIELD STRING
**
** FIELD is the name of a database column to which we might want
** to append text. STRING is the text to be appended to that
** column. The append does not actually occur until the
** submit_ticket command is run.
*/
static int appendRemarkCmd(
|
| ︙ | ︙ |