Fossil SCM
In the "fossil login-group" command, make sure to leave one group before joining another.
Commit
535714e35cf9829b14e646a60654fbbb96a7cea0ce572505b10de3dad47e0c54
Parent
fcec3edb03bc122…
1 file changed
+4
+4
| --- src/login.c | ||
| +++ src/login.c | ||
| @@ -2017,10 +2017,13 @@ | ||
| 2017 | 2017 | verify_all_options(); |
| 2018 | 2018 | if( g.argc!=4 ){ |
| 2019 | 2019 | fossil_fatal("unknown extra arguments to \"login-group add\""); |
| 2020 | 2020 | } |
| 2021 | 2021 | zOther = g.argv[3]; |
| 2022 | + login_group_leave(&zErr); | |
| 2023 | + sqlite3_free(zErr); | |
| 2024 | + zErr = 0; | |
| 2022 | 2025 | login_group_join(zOther,0,0,0,zNewName,&zErr); |
| 2023 | 2026 | if( zErr ){ |
| 2024 | 2027 | fossil_fatal("%s", zErr); |
| 2025 | 2028 | } |
| 2026 | 2029 | }else if( strncmp(zCmd,"leave",nCmd)==0 && nCmd>=1 ){ |
| @@ -2031,10 +2034,11 @@ | ||
| 2031 | 2034 | zLGName = login_group_name(); |
| 2032 | 2035 | if( zLGName ){ |
| 2033 | 2036 | char *zErr = 0; |
| 2034 | 2037 | fossil_print("Leaving login-group \"%s\"\n", zLGName); |
| 2035 | 2038 | login_group_leave(&zErr); |
| 2039 | + if( zErr ) fossil_fatal("Oops: %s", zErr); | |
| 2036 | 2040 | return; |
| 2037 | 2041 | } |
| 2038 | 2042 | }else{ |
| 2039 | 2043 | fossil_fatal("unknown command \"%s\" - should be \"add\" or \"leave\"", |
| 2040 | 2044 | zCmd); |
| 2041 | 2045 |
| --- src/login.c | |
| +++ src/login.c | |
| @@ -2017,10 +2017,13 @@ | |
| 2017 | verify_all_options(); |
| 2018 | if( g.argc!=4 ){ |
| 2019 | fossil_fatal("unknown extra arguments to \"login-group add\""); |
| 2020 | } |
| 2021 | zOther = g.argv[3]; |
| 2022 | login_group_join(zOther,0,0,0,zNewName,&zErr); |
| 2023 | if( zErr ){ |
| 2024 | fossil_fatal("%s", zErr); |
| 2025 | } |
| 2026 | }else if( strncmp(zCmd,"leave",nCmd)==0 && nCmd>=1 ){ |
| @@ -2031,10 +2034,11 @@ | |
| 2031 | zLGName = login_group_name(); |
| 2032 | if( zLGName ){ |
| 2033 | char *zErr = 0; |
| 2034 | fossil_print("Leaving login-group \"%s\"\n", zLGName); |
| 2035 | login_group_leave(&zErr); |
| 2036 | return; |
| 2037 | } |
| 2038 | }else{ |
| 2039 | fossil_fatal("unknown command \"%s\" - should be \"add\" or \"leave\"", |
| 2040 | zCmd); |
| 2041 |
| --- src/login.c | |
| +++ src/login.c | |
| @@ -2017,10 +2017,13 @@ | |
| 2017 | verify_all_options(); |
| 2018 | if( g.argc!=4 ){ |
| 2019 | fossil_fatal("unknown extra arguments to \"login-group add\""); |
| 2020 | } |
| 2021 | zOther = g.argv[3]; |
| 2022 | login_group_leave(&zErr); |
| 2023 | sqlite3_free(zErr); |
| 2024 | zErr = 0; |
| 2025 | login_group_join(zOther,0,0,0,zNewName,&zErr); |
| 2026 | if( zErr ){ |
| 2027 | fossil_fatal("%s", zErr); |
| 2028 | } |
| 2029 | }else if( strncmp(zCmd,"leave",nCmd)==0 && nCmd>=1 ){ |
| @@ -2031,10 +2034,11 @@ | |
| 2034 | zLGName = login_group_name(); |
| 2035 | if( zLGName ){ |
| 2036 | char *zErr = 0; |
| 2037 | fossil_print("Leaving login-group \"%s\"\n", zLGName); |
| 2038 | login_group_leave(&zErr); |
| 2039 | if( zErr ) fossil_fatal("Oops: %s", zErr); |
| 2040 | return; |
| 2041 | } |
| 2042 | }else{ |
| 2043 | fossil_fatal("unknown command \"%s\" - should be \"add\" or \"leave\"", |
| 2044 | zCmd); |
| 2045 |