listrent.c
1 /* ************************************************************************ 2 * file: listrent.c Part of CircleMUD * 3 * Usage: list player rent files * 4 * Written by Jeremy Elson * 5 * All Rights Reserved * 6 * Copyright (C) 1993 The Trustees of The Johns Hopkins University * 7 ************************************************************************* */ 8 9 #include "conf.h" 10 #include "sysdep.h" 11 12 #include "structs.h" 13 14 void Crash_listrent(char *fname); 15 16 int main(int argc, char **argv) 17 { 18 int x; 19 20 for (x = 1; x < argc; x++) 21 Crash_listrent(argv[x]); 22 23 return (0); 24 } 25 26 27 void Crash_listrent(char *fname) 28 { 29 FILE *fl; 30 char buf[MAX_STRING_LENGTH]; 31 struct obj_file_elem object; 32 struct rent_info rent; 33 34 if (!(fl = fopen(fname, "rb"))) { 35 sprintf(buf, "%s has no rent file.\r\n", fname); 36 printf("%s", buf); 37 return; 38 } 39 sprintf(buf, "%s\r\n", fname); 40 if (!feof(fl)) 41 fread(&rent, sizeof(struct rent_info), 1, fl); 42 switch (rent.rentcode) { 43 case RENT_RENTED: 44 strcat(buf, "Rent\r\n"); 45 break; 46 case RENT_CRASH: 47 strcat(buf, "Crash\r\n"); 48 break; 49 case RENT_CRYO: 50 strcat(buf, "Cryo\r\n"); 51 break; 52 case RENT_TIMEDOUT: 53 case RENT_FORCED: 54 strcat(buf, "TimedOut\r\n"); 55 break; 56 default: 57 strcat(buf, "Undef\r\n"); 58 break; 59 } 60 while (!feof(fl)) { 61 fread(&object, sizeof(struct obj_file_elem), 1, fl); 62 if (ferror(fl)) { 63 fclose(fl); 64 return; 65 } 66 if (!feof(fl)) 67 sprintf(buf, "%s[%5d] %s\n", buf, object.item_number, fname); 68 } 69 printf("%s", buf); 70 fclose(fl); 71 }