Fossil SCM
Integrate andygoth-help-option.
Commit
100ac83b6407c8f2b3058d6a73a9fdc4926c7f58
Parent
0aa2896d06f7d27…
2 files changed
+19
-6
+19
-6
+19
-6
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -683,19 +683,32 @@ | ||
| 683 | 683 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 684 | 684 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 685 | 685 | fossil_fatal("unable to change directories to %s", zChdir); |
| 686 | 686 | } |
| 687 | 687 | if( find_option("help",0,0)!=0 ){ |
| 688 | - /* --help anywhere on the command line is translated into | |
| 689 | - ** "fossil help argv[1] argv[2]..." */ | |
| 690 | - int i; | |
| 688 | + /* If --help is found anywhere on the command line, translate the command | |
| 689 | + * to "fossil help cmdname" where "cmdname" is the first argument that | |
| 690 | + * does not begin with a "-" character. If all arguments start with "-", | |
| 691 | + * translate to "fossil help argv[1] argv[2]...". */ | |
| 692 | + int i, nNewArgc; | |
| 691 | 693 | char **zNewArgv = fossil_malloc( sizeof(char*)*(g.argc+2) ); |
| 692 | - for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; | |
| 693 | - zNewArgv[i+1] = 0; | |
| 694 | 694 | zNewArgv[0] = g.argv[0]; |
| 695 | 695 | zNewArgv[1] = "help"; |
| 696 | - g.argc++; | |
| 696 | + for(i=1; i<g.argc; i++){ | |
| 697 | + if( g.argv[i][0]!='-' ){ | |
| 698 | + nNewArgc = 3; | |
| 699 | + zNewArgv[2] = g.argv[i]; | |
| 700 | + zNewArgv[3] = 0; | |
| 701 | + break; | |
| 702 | + } | |
| 703 | + } | |
| 704 | + if( i==g.argc ){ | |
| 705 | + for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; | |
| 706 | + nNewArgc = g.argc+1; | |
| 707 | + zNewArgv[i+1] = 0; | |
| 708 | + } | |
| 709 | + g.argc = nNewArgc; | |
| 697 | 710 | g.argv = zNewArgv; |
| 698 | 711 | } |
| 699 | 712 | zCmdName = g.argv[1]; |
| 700 | 713 | } |
| 701 | 714 | #ifndef _WIN32 |
| 702 | 715 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -683,19 +683,32 @@ | |
| 683 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 684 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 685 | fossil_fatal("unable to change directories to %s", zChdir); |
| 686 | } |
| 687 | if( find_option("help",0,0)!=0 ){ |
| 688 | /* --help anywhere on the command line is translated into |
| 689 | ** "fossil help argv[1] argv[2]..." */ |
| 690 | int i; |
| 691 | char **zNewArgv = fossil_malloc( sizeof(char*)*(g.argc+2) ); |
| 692 | for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; |
| 693 | zNewArgv[i+1] = 0; |
| 694 | zNewArgv[0] = g.argv[0]; |
| 695 | zNewArgv[1] = "help"; |
| 696 | g.argc++; |
| 697 | g.argv = zNewArgv; |
| 698 | } |
| 699 | zCmdName = g.argv[1]; |
| 700 | } |
| 701 | #ifndef _WIN32 |
| 702 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -683,19 +683,32 @@ | |
| 683 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 684 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 685 | fossil_fatal("unable to change directories to %s", zChdir); |
| 686 | } |
| 687 | if( find_option("help",0,0)!=0 ){ |
| 688 | /* If --help is found anywhere on the command line, translate the command |
| 689 | * to "fossil help cmdname" where "cmdname" is the first argument that |
| 690 | * does not begin with a "-" character. If all arguments start with "-", |
| 691 | * translate to "fossil help argv[1] argv[2]...". */ |
| 692 | int i, nNewArgc; |
| 693 | char **zNewArgv = fossil_malloc( sizeof(char*)*(g.argc+2) ); |
| 694 | zNewArgv[0] = g.argv[0]; |
| 695 | zNewArgv[1] = "help"; |
| 696 | for(i=1; i<g.argc; i++){ |
| 697 | if( g.argv[i][0]!='-' ){ |
| 698 | nNewArgc = 3; |
| 699 | zNewArgv[2] = g.argv[i]; |
| 700 | zNewArgv[3] = 0; |
| 701 | break; |
| 702 | } |
| 703 | } |
| 704 | if( i==g.argc ){ |
| 705 | for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; |
| 706 | nNewArgc = g.argc+1; |
| 707 | zNewArgv[i+1] = 0; |
| 708 | } |
| 709 | g.argc = nNewArgc; |
| 710 | g.argv = zNewArgv; |
| 711 | } |
| 712 | zCmdName = g.argv[1]; |
| 713 | } |
| 714 | #ifndef _WIN32 |
| 715 |
+19
-6
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -683,19 +683,32 @@ | ||
| 683 | 683 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 684 | 684 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 685 | 685 | fossil_fatal("unable to change directories to %s", zChdir); |
| 686 | 686 | } |
| 687 | 687 | if( find_option("help",0,0)!=0 ){ |
| 688 | - /* --help anywhere on the command line is translated into | |
| 689 | - ** "fossil help argv[1] argv[2]..." */ | |
| 690 | - int i; | |
| 688 | + /* If --help is found anywhere on the command line, translate the command | |
| 689 | + * to "fossil help cmdname" where "cmdname" is the first argument that | |
| 690 | + * does not begin with a "-" character. If all arguments start with "-", | |
| 691 | + * translate to "fossil help argv[1] argv[2]...". */ | |
| 692 | + int i, nNewArgc; | |
| 691 | 693 | char **zNewArgv = fossil_malloc( sizeof(char*)*(g.argc+2) ); |
| 692 | - for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; | |
| 693 | - zNewArgv[i+1] = 0; | |
| 694 | 694 | zNewArgv[0] = g.argv[0]; |
| 695 | 695 | zNewArgv[1] = "help"; |
| 696 | - g.argc++; | |
| 696 | + for(i=1; i<g.argc; i++){ | |
| 697 | + if( g.argv[i][0]!='-' ){ | |
| 698 | + nNewArgc = 3; | |
| 699 | + zNewArgv[2] = g.argv[i]; | |
| 700 | + zNewArgv[3] = 0; | |
| 701 | + break; | |
| 702 | + } | |
| 703 | + } | |
| 704 | + if( i==g.argc ){ | |
| 705 | + for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; | |
| 706 | + nNewArgc = g.argc+1; | |
| 707 | + zNewArgv[i+1] = 0; | |
| 708 | + } | |
| 709 | + g.argc = nNewArgc; | |
| 697 | 710 | g.argv = zNewArgv; |
| 698 | 711 | } |
| 699 | 712 | zCmdName = g.argv[1]; |
| 700 | 713 | } |
| 701 | 714 | #ifndef _WIN32 |
| 702 | 715 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -683,19 +683,32 @@ | |
| 683 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 684 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 685 | fossil_fatal("unable to change directories to %s", zChdir); |
| 686 | } |
| 687 | if( find_option("help",0,0)!=0 ){ |
| 688 | /* --help anywhere on the command line is translated into |
| 689 | ** "fossil help argv[1] argv[2]..." */ |
| 690 | int i; |
| 691 | char **zNewArgv = fossil_malloc( sizeof(char*)*(g.argc+2) ); |
| 692 | for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; |
| 693 | zNewArgv[i+1] = 0; |
| 694 | zNewArgv[0] = g.argv[0]; |
| 695 | zNewArgv[1] = "help"; |
| 696 | g.argc++; |
| 697 | g.argv = zNewArgv; |
| 698 | } |
| 699 | zCmdName = g.argv[1]; |
| 700 | } |
| 701 | #ifndef _WIN32 |
| 702 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -683,19 +683,32 @@ | |
| 683 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 684 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 685 | fossil_fatal("unable to change directories to %s", zChdir); |
| 686 | } |
| 687 | if( find_option("help",0,0)!=0 ){ |
| 688 | /* If --help is found anywhere on the command line, translate the command |
| 689 | * to "fossil help cmdname" where "cmdname" is the first argument that |
| 690 | * does not begin with a "-" character. If all arguments start with "-", |
| 691 | * translate to "fossil help argv[1] argv[2]...". */ |
| 692 | int i, nNewArgc; |
| 693 | char **zNewArgv = fossil_malloc( sizeof(char*)*(g.argc+2) ); |
| 694 | zNewArgv[0] = g.argv[0]; |
| 695 | zNewArgv[1] = "help"; |
| 696 | for(i=1; i<g.argc; i++){ |
| 697 | if( g.argv[i][0]!='-' ){ |
| 698 | nNewArgc = 3; |
| 699 | zNewArgv[2] = g.argv[i]; |
| 700 | zNewArgv[3] = 0; |
| 701 | break; |
| 702 | } |
| 703 | } |
| 704 | if( i==g.argc ){ |
| 705 | for(i=1; i<g.argc; i++) zNewArgv[i+1] = g.argv[i]; |
| 706 | nNewArgc = g.argc+1; |
| 707 | zNewArgv[i+1] = 0; |
| 708 | } |
| 709 | g.argc = nNewArgc; |
| 710 | g.argv = zNewArgv; |
| 711 | } |
| 712 | zCmdName = g.argv[1]; |
| 713 | } |
| 714 | #ifndef _WIN32 |
| 715 |