@@ -77,10 +77,28 @@
77 77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( argc!=2 ){
78 78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return Th_WrongNumArgs(interp, "enable_output BOOLEAN");
79 79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
80 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return Th_ToInt(interp, argv[1], argl[1], &enableOutput);
81 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return a name for a TH1 return code.
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *Th_ReturnCodeName(int rc){
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static char zRc[32];
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( rc ){
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case TH_OK: return "TH_OK";
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case TH_ERROR: return "TH_ERROR";
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case TH_BREAK: return "TH_BREAK";
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case TH_RETURN: return "TH_RETURN";
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case TH_CONTINUE: return "TH_CONTINUE";
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ default: {
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_snprintf(sizeof(zRc),zRc,"return code %d",rc);
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return zRc;
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
82 100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
83 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
84 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Send text to the appropriate output: Either to the console
85 103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** or to the CGI reply buffer.
86 104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -98,10 +116,19 @@
98 116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fflush(stdout);
99 117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
100 118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( encode ) free((char*)z);
101 119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
102 120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void sendError(const char *z, int n, int forceCgi){
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( forceCgi || g.cgiOutput ){
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendText("<hr><p class=\"thmainError\">", -1, 0);
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendText("ERROR: ", -1, 0);
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendText((char*)z, n, 1);
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendText(forceCgi || g.cgiOutput ? "</p>" : "\n", -1, 0);
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
103 130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
104 131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
105 132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** TH command: puts STRING
106 133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** TH command: html STRING
107 134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -510,11 +537,12 @@
510 537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Make sure the interpreter has been initialized. Initialize it if
511 538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** it has not been already.
512 539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
513 540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The interpreter is stored in the g.interp global variable.
514 541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void Th_FossilInit(void){
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void Th_FossilInit(int needConfig, int forceSetup){
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int wasInit = 0;
516 544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static struct _Command {
517 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName;
518 546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_CommandProc xProc;
519 547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void *pContext;
520 548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} aCommand[] = {
@@ -532,40 +560,89 @@
532 560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"repository", repositoryCmd, 0},
533 561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"utime", utimeCmd, 0},
534 562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"stime", stimeCmd, 0},
535 563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{0, 0, 0}
536 564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( needConfig ){
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This function uses several settings which may be defined in the
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** repository and/or the global configuration. Since the caller
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** passed a non-zero value for the needConfig parameter, make sure
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the necessary database connections are open prior to continuing.
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_find_and_open_repository(OPEN_OK_NOT_FOUND, 0);
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_open_config(0);
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
537 575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.interp==0 ){
538 576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
539 577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.interp = Th_CreateInterp(&vtab);
540 578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
th_register_language(g.interp); /* Basic scripting commands. */
541 579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef FOSSIL_ENABLE_TCL
542 580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( getenv("TH1_ENABLE_TCL")!=0 || db_get_boolean("tcl", 0) ){
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.tcl.setup = db_get("tcl-setup", 0); /* Grab optional setup script. */
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !g.tcl.setup ){
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.tcl.setup = db_get("tcl-setup", 0); /* Grab Tcl setup script. */
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
544 584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
th_register_tcl(g.interp, &g.tcl); /* Tcl integration commands. */
545 585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
546 586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
547 587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<sizeof(aCommand)/sizeof(aCommand[0]); i++){
548 588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if ( !aCommand[i].zName || !aCommand[i].xProc ) continue;
549 589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_CreateCommand(g.interp, aCommand[i].zName, aCommand[i].xProc,
550 590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
aCommand[i].pContext, 0);
551 591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasInit = 1;
594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( forceSetup || !wasInit ){
596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rc = TH_OK;
597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !g.th1Setup ){
598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.th1Setup = db_get("th1-setup", 0); /* Grab TH1 setup script. */
599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.th1Setup ){
601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = Th_Eval(g.interp, 0, g.th1Setup, -1);
602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rc==TH_ERROR ){
603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int nResult = 0;
604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zResult = (char*)Th_GetResult(g.interp, &nResult);
605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendError(zResult, nResult, 0);
606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.thTrace ){
609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_Trace("th1-setup {%h} => %h<br />\n", g.th1Setup,
610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_ReturnCodeName(rc));
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
552 612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
553 613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
554 614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
555 615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
556 616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Store a string value in a variable in the interpreter.
557 617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
558 618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void Th_Store(const char *zName, const char *zValue){
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_FossilInit();
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_FossilInit(0, 0);
560 620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zValue ){
561 621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.thTrace ){
562 622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Trace("set %h {%h}<br />\n", zName, zValue);
563 623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
564 624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_SetVar(g.interp, zName, -1, zValue, strlen(zValue));
565 625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
566 626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Store an integer value in a variable in the interpreter.
630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void Th_StoreInt(const char *zName, int iValue){
632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob value;
633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zValue;
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_FossilInit(0, 0);
635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&value);
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&value, "%d", iValue);
637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zValue = blob_str(&value);
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.thTrace ){
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_Trace("set %h {%h}<br />\n", zName, zValue);
640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_SetVar(g.interp, zName, -1, zValue, strlen(zValue));
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&value);
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
567 644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
568 645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
569 646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Unset a variable.
570 647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
571 648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void Th_Unstore(const char *zName){
@@ -578,11 +655,11 @@
578 655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Retrieve a string value from the interpreter. If no such
579 656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** variable exists, return NULL.
580 657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
581 658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *Th_Fetch(const char *zName, int *pSize){
582 659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_FossilInit();
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_FossilInit(0, 0);
584 661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = Th_GetVar(g.interp, (char*)zName, -1);
585 662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==TH_OK ){
586 663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return (char*)Th_GetResult(g.interp, pSize);
587 664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
588 665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
@@ -658,11 +735,11 @@
658 735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int Th_Render(const char *z){
659 736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i = 0;
660 737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n;
661 738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = TH_OK;
662 739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zResult;
663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Th_FossilInit();
740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_FossilInit(0, 0);
664 741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( z[i] ){
665 742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( z[i]=='$' && (n = validVarName(&z[i+1]))>0 ){
666 743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zVar;
667 744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nVar;
668 745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int encode = 1;
@@ -694,14 +771,12 @@
694 771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
695 772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i++;
696 773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
697 774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
698 775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==TH_ERROR ){
699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sendText("<hr><p class=\"thmainError\">ERROR: ", -1, 0);
700 776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zResult = (char*)Th_GetResult(g.interp, &n);
701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sendText((char*)zResult, n, 1);
702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sendText("</p>", -1, 0);
777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendError(zResult, n, 1);
703 778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
704 779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText(z, i, 0);
705 780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
706 781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
707 782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
708 783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!