@@ -352,21 +352,14 @@
352 352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *z; /* General use string pointer */
353 353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char **newArgv; /* New expanded g.argv under construction */
354 354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char const * zFileName; /* input file name */
355 355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
FILE * zInFile; /* input FILE */
356 356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int foundBom = -1; /* -1= not searched yet, 0 = no; 1=yes */
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifdef _WIN32
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wchar_t buf[MAX_PATH];
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
360 357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
361 358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.argc = argc;
362 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.argv = argv;
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifdef _WIN32
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- GetModuleFileNameW(NULL, buf, MAX_PATH);
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.argv[0] = fossil_unicode_to_utf8(buf);
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=1; i<g.argc; i++) g.argv[i] = fossil_mbcs_to_utf8(g.argv[i]);
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<g.argc; i++) g.argv[i] = fossil_mbcs_to_utf8(g.argv[i]);
368 361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=1; i<g.argc-1; i++){
369 362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = g.argv[i];
370 363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( z[0]!='-' ) continue;
371 364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z++;
372 365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( z[0]=='-' ) z++;
@@ -535,11 +528,21 @@
535 528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
536 529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
537 530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return the name of the current executable.
538 531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
539 532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *fossil_nameofexe(void){
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifdef _WIN32
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static const char *z = 0;
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!z) {
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wchar_t buf[MAX_PATH];
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ GetModuleFileNameW(NULL, buf, MAX_PATH);
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z = fossil_unicode_to_utf8(buf);
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return z;
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #else
540 542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return g.argv[0];
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
541 544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
542 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
543 546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
544 547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Exit. Take care to close the database first.
545 548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -574,12 +577,13 @@
574 577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.cgiOutput && once ){
575 578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
once = 0;
576 579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_printf("<p class=\"generalError\">%h</p>", z);
577 580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_reply();
578 581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( !g.fQuiet ){
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zOut = mprintf("%s: %s\n", fossil_nameofexe(), z);
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zOut = mprintf("%s: %s\n", g.argv[0], z);
580 583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_puts(zOut, 1);
584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ free(zOut);
581 585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
582 586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
583 587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(z);
584 588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_force_rollback();
585 589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_exit(rc);
@@ -606,12 +610,13 @@
606 610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.cgiOutput ){
607 611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.cgiOutput = 0;
608 612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_printf("<p class=\"generalError\">%h</p>", z);
609 613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_reply();
610 614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( !g.fQuiet ){
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zOut = mprintf("\r%s: %s\n", fossil_nameofexe(), z);
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zOut = mprintf("\r%s: %s\n", g.argv[0], z);
612 616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_puts(zOut, 1);
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ free(zOut);
613 618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
614 619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
615 620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(z);
616 621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_force_rollback();
617 622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_exit(rc);
@@ -647,11 +652,11 @@
647 652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.cgiOutput ){
648 653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.cgiOutput = 0;
649 654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_printf("<p class=\"generalError\">%h</p>", z);
650 655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_reply();
651 656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zOut = mprintf("\r%s: %s\n", fossil_nameofexe(), z);
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zOut = mprintf("\r%s: %s\n", g.argv[0], z);
653 658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_puts(zOut, 1);
654 659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(zOut);
655 660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
656 661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
657 662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_force_rollback();
@@ -673,11 +678,11 @@
673 678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
674 679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
675 680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.cgiOutput ){
676 681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_printf("<p class=\"generalError\">%h</p>", z);
677 682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zOut = mprintf("\r%s: %s\n", fossil_nameofexe(), z);
683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zOut = mprintf("\r%s: %s\n", g.argv[0], z);
679 684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_puts(zOut, 1);
680 685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(zOut);
681 686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
682 687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
683 688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(z);
@@ -708,14 +713,18 @@
708 713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if defined(_WIN32)
709 714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* On windows, we have to put double-quotes around the entire command.
710 715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Who knows why - this is just the way windows works.
711 716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
712 717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zNewCmd = mprintf("\"%s\"", zOrigCmd);
713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zMbcs = fossil_utf8_to_mbcs(zNewCmd);
714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zMbcs);
715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = system(zMbcs);
716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_mbcs_free(zMbcs);
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wchar_t *zUnicode = fossil_utf8_to_unicode(zNewCmd);
719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.fSystemTrace ) {
720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zOut = mprintf("SYSTEM: %s\n", zNewCmd);
721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_puts(zOut, 1);
722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ free(zOut);
723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = _wsystem(zUnicode);
725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_mbcs_free(zUnicode);
717 726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
free(zNewCmd);
718 727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#else
719 728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* On unix, evaluate the command directly.
720 729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
721 730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd);
@@ -781,11 +790,11 @@
781 790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
782 791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
783 792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Print a usage comment and quit
784 793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
785 794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void usage(const char *zFormat){
786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("Usage: %s %s %s\n", fossil_nameofexe(), g.argv[1], zFormat);
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("Usage: %s %s %s\n", g.argv[0], g.argv[1], zFormat);
787 796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
788 797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
789 798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
790 799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Remove n elements from g.argv beginning with the i-th element.
791 800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -942,11 +951,11 @@
942 951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
943 952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void help_cmd(void){
944 953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc, idx;
945 954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *z;
946 955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc<3 ){
947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- z = fossil_nameofexe();
956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z = g.argv[0];
948 957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print(
949 958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Usage: %s help COMMAND\n"
950 959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Common COMMANDs: (use \"%s help --all\" for a complete list)\n",
951 960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z, z);
952 961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
command_list(0, CMDFLAG_1ST_TIER);
@@ -981,11 +990,11 @@
981 990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("no help available for the %s command",
982 991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
aCommand[idx].zName);
983 992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
984 993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( *z ){
985 994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( *z=='%' && strncmp(z, "%fossil", 7)==0 ){
986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("%s", fossil_nameofexe());
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("%s", g.argv[0]);
987 996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z += 7;
988 997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
989 998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
putchar(*z);
990 999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z++;
991 1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
992 1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!