Fossil SCM

Handle --opt=arg as final command line argument, discussed in [forum:a90b5ebd36f4c134].

preben 2023-09-28 18:59 trunk
Commit 9ac38481ec39a944a97783ece00d080570186195618f560e666be10eb44b2f63
1 file changed +1 -1
+1 -1
--- src/main.c
+++ src/main.c
@@ -1024,11 +1024,10 @@
10241024
const char *zReturn = 0;
10251025
assert( hasArg==0 || hasArg==1 );
10261026
nLong = strlen(zLong);
10271027
for(i=1; i<g.argc; i++){
10281028
char *z;
1029
- if( i+hasArg >= g.argc ) break;
10301029
z = g.argv[i];
10311030
if( z[0]!='-' ) continue;
10321031
z++;
10331032
if( z[0]=='-' ){
10341033
if( z[1]==0 ){
@@ -1042,10 +1041,11 @@
10421041
if( hasArg && z[nLong]=='=' ){
10431042
zReturn = &z[nLong+1];
10441043
remove_from_argv(i, 1);
10451044
break;
10461045
}else if( z[nLong]==0 ){
1046
+ if( i+hasArg >= g.argc ) break;
10471047
zReturn = g.argv[i+hasArg];
10481048
remove_from_argv(i, 1+hasArg);
10491049
break;
10501050
}
10511051
}else if( fossil_strcmp(z,zShort)==0 ){
10521052
--- src/main.c
+++ src/main.c
@@ -1024,11 +1024,10 @@
1024 const char *zReturn = 0;
1025 assert( hasArg==0 || hasArg==1 );
1026 nLong = strlen(zLong);
1027 for(i=1; i<g.argc; i++){
1028 char *z;
1029 if( i+hasArg >= g.argc ) break;
1030 z = g.argv[i];
1031 if( z[0]!='-' ) continue;
1032 z++;
1033 if( z[0]=='-' ){
1034 if( z[1]==0 ){
@@ -1042,10 +1041,11 @@
1042 if( hasArg && z[nLong]=='=' ){
1043 zReturn = &z[nLong+1];
1044 remove_from_argv(i, 1);
1045 break;
1046 }else if( z[nLong]==0 ){
 
1047 zReturn = g.argv[i+hasArg];
1048 remove_from_argv(i, 1+hasArg);
1049 break;
1050 }
1051 }else if( fossil_strcmp(z,zShort)==0 ){
1052
--- src/main.c
+++ src/main.c
@@ -1024,11 +1024,10 @@
1024 const char *zReturn = 0;
1025 assert( hasArg==0 || hasArg==1 );
1026 nLong = strlen(zLong);
1027 for(i=1; i<g.argc; i++){
1028 char *z;
 
1029 z = g.argv[i];
1030 if( z[0]!='-' ) continue;
1031 z++;
1032 if( z[0]=='-' ){
1033 if( z[1]==0 ){
@@ -1042,10 +1041,11 @@
1041 if( hasArg && z[nLong]=='=' ){
1042 zReturn = &z[nLong+1];
1043 remove_from_argv(i, 1);
1044 break;
1045 }else if( z[nLong]==0 ){
1046 if( i+hasArg >= g.argc ) break;
1047 zReturn = g.argv[i+hasArg];
1048 remove_from_argv(i, 1+hasArg);
1049 break;
1050 }
1051 }else if( fossil_strcmp(z,zShort)==0 ){
1052

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button