Fossil SCM
Handle --opt=arg as final command line argument, discussed in [forum:a90b5ebd36f4c134].
Commit
9ac38481ec39a944a97783ece00d080570186195618f560e666be10eb44b2f63
Parent
e3e28f43dcce3af…
1 file changed
+1
-1
+1
-1
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -1024,11 +1024,10 @@ | ||
| 1024 | 1024 | const char *zReturn = 0; |
| 1025 | 1025 | assert( hasArg==0 || hasArg==1 ); |
| 1026 | 1026 | nLong = strlen(zLong); |
| 1027 | 1027 | for(i=1; i<g.argc; i++){ |
| 1028 | 1028 | char *z; |
| 1029 | - if( i+hasArg >= g.argc ) break; | |
| 1030 | 1029 | z = g.argv[i]; |
| 1031 | 1030 | if( z[0]!='-' ) continue; |
| 1032 | 1031 | z++; |
| 1033 | 1032 | if( z[0]=='-' ){ |
| 1034 | 1033 | if( z[1]==0 ){ |
| @@ -1042,10 +1041,11 @@ | ||
| 1042 | 1041 | if( hasArg && z[nLong]=='=' ){ |
| 1043 | 1042 | zReturn = &z[nLong+1]; |
| 1044 | 1043 | remove_from_argv(i, 1); |
| 1045 | 1044 | break; |
| 1046 | 1045 | }else if( z[nLong]==0 ){ |
| 1046 | + if( i+hasArg >= g.argc ) break; | |
| 1047 | 1047 | zReturn = g.argv[i+hasArg]; |
| 1048 | 1048 | remove_from_argv(i, 1+hasArg); |
| 1049 | 1049 | break; |
| 1050 | 1050 | } |
| 1051 | 1051 | }else if( fossil_strcmp(z,zShort)==0 ){ |
| 1052 | 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 | 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 |