Fossil SCM
merge in find-options-last-arg-fix
Commit
ad0b5f0e2da8eab97d6e9d7d9551e3962941efc10e64817d775055bcb4b226e5
Parent
d6cdd955e133ebb…
1 file changed
+2
-1
+2
-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,15 +1041,17 @@ | ||
| 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 | + if( i+hasArg >= g.argc ) break; | |
| 1052 | 1053 | zReturn = g.argv[i+hasArg]; |
| 1053 | 1054 | remove_from_argv(i, 1+hasArg); |
| 1054 | 1055 | break; |
| 1055 | 1056 | } |
| 1056 | 1057 | } |
| 1057 | 1058 |
| --- 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,15 +1041,17 @@ | |
| 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 | zReturn = g.argv[i+hasArg]; |
| 1053 | remove_from_argv(i, 1+hasArg); |
| 1054 | break; |
| 1055 | } |
| 1056 | } |
| 1057 |
| --- 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,15 +1041,17 @@ | |
| 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 | if( i+hasArg >= g.argc ) break; |
| 1053 | zReturn = g.argv[i+hasArg]; |
| 1054 | remove_from_argv(i, 1+hasArg); |
| 1055 | break; |
| 1056 | } |
| 1057 | } |
| 1058 |