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.

drh 2008-11-22 19:09 trunk
Commit 21cecd209f7201f17e8a784c0d8f735603d440ae
1 file changed +6 -6
+6 -6
--- src/setup.c
+++ src/setup.c
@@ -369,28 +369,28 @@
369369
370370
/* figure out inherited permissions */
371371
memset(inherit, 0, sizeof(inherit));
372372
if( strcmp(zLogin, "developer") ){
373373
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 ){
376376
inherit[0x7f & *(z1++)] = "<font color=\"red\">&#149;</font>";
377377
}
378378
free(z2);
379379
}
380380
if( strcmp(zLogin, "anonymous") ){
381381
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 ){
384384
inherit[0x7f & *(z1++)] = "<font color=\"blue\">&#149;</font>";
385385
}
386386
free(z2);
387387
}
388388
if( strcmp(zLogin, "nobody") ){
389389
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 ){
392392
inherit[0x7f & *(z1++)] = "<font color=\"green\">&#149;</font>";
393393
}
394394
free(z2);
395395
}
396396
397397
--- 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\">&#149;</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\">&#149;</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\">&#149;</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\">&#149;</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\">&#149;</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\">&#149;</font>";
393 }
394 free(z2);
395 }
396
397

Keyboard Shortcuts

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