1 2 3 4 5 6 7 8 9 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
|
// The %cmd%Cmd interface routine which processes the %cmd% Tcl command.
static int
%cmd%Cmd( ClientData PL_UNUSED( clientData ), Tcl_Interp *interp, int argc, const char *argv[] )
{
<argdecls>
pl_errcode = 0; errmsg[0] = '\0';
if ( (argc == 2) && (strlen(argv[1])>0) && (strncmp(argv[1],"-help",strlen(argv[1])) == 0) ) {
Tcl_AppendResult( interp, "command syntax: command should be ",
"%full_command%",
(char *) NULL);
return TCL_ERROR;
}
if ( (!%isref% && %ndefs% && (argc < (%nargs% + 1 - %ndefs% - %nredacted%)) && (!%if_non_redacted || (argc < (%nargs% + 1 - %ndefs%)))) ||
(!%isref% && !%ndefs% && (argc != (%nargs% + 1 - %nredacted%)) && (!%if_non_redacted || (argc != (%nargs% + 1)))) ||
(%isref% && (argc != 1) && (argc != (%nargs% + 1 - %nredacted%)) && (!%if_non_redacted || (argc != (%nargs% + 1)))) ) {
Tcl_AppendResult( interp, "wrong # args: command should be ",
"%full_command%",
(char *) NULL);
return TCL_ERROR;
}
<getargs>
<consistency>
<plcmd>
<fetch_result>
if (pl_errcode != 0) {
Tcl_AppendResult(interp, errmsg, (char *) NULL);
return TCL_ERROR;
}
plflush();
return TCL_OK;
}
|