summaryrefslogtreecommitdiff
path: root/source3/web/statuspage.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/web/statuspage.c')
-rw-r--r--source3/web/statuspage.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source3/web/statuspage.c b/source3/web/statuspage.c
index 57b5d0f7b7..871e07b5d0 100644
--- a/source3/web/statuspage.c
+++ b/source3/web/statuspage.c
@@ -108,23 +108,28 @@ static char *tstring(time_t t)
static void print_share_mode(share_mode_entry *e, char *fname)
{
char *utf8_fname;
+ int deny_mode = map_share_mode_to_deny_mode(e->share_access,
+ e->private_options);
printf("<tr><td>%s</td>",_(mapPid2Machine(e->pid)));
printf("<td>");
- switch ((e->share_mode>>4)&0xF) {
+ switch ((deny_mode>>4)&0xF) {
case DENY_NONE: printf("DENY_NONE"); break;
case DENY_ALL: printf("DENY_ALL "); break;
case DENY_DOS: printf("DENY_DOS "); break;
+ case DENY_FCB: printf("DENY_FCB "); break;
case DENY_READ: printf("DENY_READ "); break;
case DENY_WRITE:printf("DENY_WRITE "); break;
}
printf("</td>");
printf("<td>");
- switch (e->share_mode&0xF) {
- case 0: printf("%s", _("RDONLY ")); break;
- case 1: printf("%s", _("WRONLY ")); break;
- case 2: printf("%s", _("RDWR ")); break;
+ if (e->access_mask & (FILE_READ_DATA|FILE_WRITE_DATA)) {
+ printf("%s", _("RDWR "));
+ } else if (e->access_mask & FILE_WRITE_DATA) {
+ printf("%s", _("WRONLY "));
+ } else {
+ printf("%s", _("RDONLY "));
}
printf("</td>");