- char temp_buf[BUFSIZ];
- int status = atoi(info[NFS_STATUS]);
-
- sprintf(temp_buf,"Machine: %s,\tDirectory: %s,\tDevice: %s",
- info[NFS_NAME], info[NFS_DIR], info[NFS_DEVICE]);
- Put_message(temp_buf);
- sprintf(temp_buf, "Status: %s,\tQuota Allocated: %s.\tSize: %s",
- status ? "Active" : "Inactive", info[NFS_ALLOC], info[NFS_SIZE]);
- Put_message(temp_buf);
- sprintf(temp_buf, "Last Modification by %s at %s with %s.",
- answer[U_MODBY], answer[U_MODTIME], answer[U_MODWITH]);
- Put_message(temp_buf);
+ char buf[BUFSIZ], status_buf[BUFSIZ];
+ int status = atoi(info[NFS_STATUS]);
+ Bool is_one = FALSE;
+
+ status_buf[0] = '\0'; /* clear string. */
+
+ if (status & MR_FS_STUDENT)
+ {
+ strcat(status_buf, "Student");
+ is_one = TRUE;
+ }
+ if (status & MR_FS_FACULTY)
+ {
+ if (is_one)
+ strcat(status_buf, " and ");
+ strcat(status_buf, "Faculty");
+ is_one = TRUE;
+ }
+ if (status & MR_FS_STAFF)
+ {
+ if (is_one)
+ strcat(status_buf, " and ");
+ strcat(status_buf, "Staff");
+ is_one = TRUE;
+ }
+ if (status & MR_FS_MISC)
+ {
+ if (is_one)
+ strcat(status_buf, " and ");
+ strcat(status_buf, "Miscellaneous");
+ }
+ /* Add another type here. */
+ if (status & MR_FS_GROUPQUOTA)
+ {
+ if (is_one)
+ strcat(status_buf, " / ");
+ strcat(status_buf, "Group Quotas Enabled");
+ }
+
+ if (status_buf[0] == '\0')
+ strcat(status_buf, "-- None --");
+
+ Put_message("");
+ sprintf(buf, "Machine: %-20s Directory: %-15s Device: %s",
+ info[NFS_NAME], info[NFS_DIR], info[NFS_DEVICE]);
+ Put_message(buf);
+ sprintf(buf, "Status: %s", status_buf);
+ Put_message(buf);
+ sprintf(buf, "Quota Allocated: %-17s Size: %s",
+ info[NFS_ALLOC], info[NFS_SIZE]);
+ Put_message(buf);
+ sprintf(buf, MOD_FORMAT, info[NFS_MODBY], info[NFS_MODTIME],
+ info[NFS_MODWITH]);
+ Put_message(buf);
+ return info[NFS_DIR];