Fossil SCM
Fix the user edit screen to work correctly even if one or more of the "anonymous", "login", or "developer" users is omitted from the user list.
Commit
21cecd209f7201f17e8a784c0d8f735603d440ae
Parent
77bdac3b195d12f…
1 file changed
+6
-6
+6
-6
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -369,28 +369,28 @@ | ||
| 369 | 369 | |
| 370 | 370 | /* figure out inherited permissions */ |
| 371 | 371 | memset(inherit, 0, sizeof(inherit)); |
| 372 | 372 | if( strcmp(zLogin, "developer") ){ |
| 373 | 373 | char *z1, *z2; |
| 374 | - z1 = z2 = db_text("","SELECT cap FROM user WHERE login='developer'"); | |
| 375 | - while( *z1 ){ | |
| 374 | + z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='developer'"); | |
| 375 | + while( z1 && *z1 ){ | |
| 376 | 376 | inherit[0x7f & *(z1++)] = "<font color=\"red\">•</font>"; |
| 377 | 377 | } |
| 378 | 378 | free(z2); |
| 379 | 379 | } |
| 380 | 380 | if( strcmp(zLogin, "anonymous") ){ |
| 381 | 381 | char *z1, *z2; |
| 382 | - z1 = z2 = db_text("","SELECT cap FROM user WHERE login='anonymous'"); | |
| 383 | - while( *z1 ){ | |
| 382 | + z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='anonymous'"); | |
| 383 | + while( z1 && *z1 ){ | |
| 384 | 384 | inherit[0x7f & *(z1++)] = "<font color=\"blue\">•</font>"; |
| 385 | 385 | } |
| 386 | 386 | free(z2); |
| 387 | 387 | } |
| 388 | 388 | if( strcmp(zLogin, "nobody") ){ |
| 389 | 389 | char *z1, *z2; |
| 390 | - z1 = z2 = db_text("","SELECT cap FROM user WHERE login='nobody'"); | |
| 391 | - while( *z1 ){ | |
| 390 | + z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='nobody'"); | |
| 391 | + while( z1 && *z1 ){ | |
| 392 | 392 | inherit[0x7f & *(z1++)] = "<font color=\"green\">•</font>"; |
| 393 | 393 | } |
| 394 | 394 | free(z2); |
| 395 | 395 | } |
| 396 | 396 | |
| 397 | 397 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -369,28 +369,28 @@ | |
| 369 | |
| 370 | /* figure out inherited permissions */ |
| 371 | memset(inherit, 0, sizeof(inherit)); |
| 372 | if( strcmp(zLogin, "developer") ){ |
| 373 | char *z1, *z2; |
| 374 | z1 = z2 = db_text("","SELECT cap FROM user WHERE login='developer'"); |
| 375 | while( *z1 ){ |
| 376 | inherit[0x7f & *(z1++)] = "<font color=\"red\">•</font>"; |
| 377 | } |
| 378 | free(z2); |
| 379 | } |
| 380 | if( strcmp(zLogin, "anonymous") ){ |
| 381 | char *z1, *z2; |
| 382 | z1 = z2 = db_text("","SELECT cap FROM user WHERE login='anonymous'"); |
| 383 | while( *z1 ){ |
| 384 | inherit[0x7f & *(z1++)] = "<font color=\"blue\">•</font>"; |
| 385 | } |
| 386 | free(z2); |
| 387 | } |
| 388 | if( strcmp(zLogin, "nobody") ){ |
| 389 | char *z1, *z2; |
| 390 | z1 = z2 = db_text("","SELECT cap FROM user WHERE login='nobody'"); |
| 391 | while( *z1 ){ |
| 392 | inherit[0x7f & *(z1++)] = "<font color=\"green\">•</font>"; |
| 393 | } |
| 394 | free(z2); |
| 395 | } |
| 396 | |
| 397 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -369,28 +369,28 @@ | |
| 369 | |
| 370 | /* figure out inherited permissions */ |
| 371 | memset(inherit, 0, sizeof(inherit)); |
| 372 | if( strcmp(zLogin, "developer") ){ |
| 373 | char *z1, *z2; |
| 374 | z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='developer'"); |
| 375 | while( z1 && *z1 ){ |
| 376 | inherit[0x7f & *(z1++)] = "<font color=\"red\">•</font>"; |
| 377 | } |
| 378 | free(z2); |
| 379 | } |
| 380 | if( strcmp(zLogin, "anonymous") ){ |
| 381 | char *z1, *z2; |
| 382 | z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='anonymous'"); |
| 383 | while( z1 && *z1 ){ |
| 384 | inherit[0x7f & *(z1++)] = "<font color=\"blue\">•</font>"; |
| 385 | } |
| 386 | free(z2); |
| 387 | } |
| 388 | if( strcmp(zLogin, "nobody") ){ |
| 389 | char *z1, *z2; |
| 390 | z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='nobody'"); |
| 391 | while( z1 && *z1 ){ |
| 392 | inherit[0x7f & *(z1++)] = "<font color=\"green\">•</font>"; |
| 393 | } |
| 394 | free(z2); |
| 395 | } |
| 396 | |
| 397 |