72 lines
1.7 KiB
C
72 lines
1.7 KiB
C
|
/* ************************************************************************
|
||
|
* file: listrent.c Part of CircleMUD *
|
||
|
* Usage: list player rent files *
|
||
|
* Written by Jeremy Elson *
|
||
|
* All Rights Reserved *
|
||
|
* Copyright (C) 1993 The Trustees of The Johns Hopkins University *
|
||
|
************************************************************************* */
|
||
|
|
||
|
#include "conf.h"
|
||
|
#include "sysdep.h"
|
||
|
|
||
|
#include "structs.h"
|
||
|
|
||
|
void Crash_listrent(char *fname);
|
||
|
|
||
|
int main(int argc, char **argv)
|
||
|
{
|
||
|
int x;
|
||
|
|
||
|
for (x = 1; x < argc; x++)
|
||
|
Crash_listrent(argv[x]);
|
||
|
|
||
|
return (0);
|
||
|
}
|
||
|
|
||
|
|
||
|
void Crash_listrent(char *fname)
|
||
|
{
|
||
|
FILE *fl;
|
||
|
char buf[MAX_STRING_LENGTH];
|
||
|
struct obj_file_elem object;
|
||
|
struct rent_info rent;
|
||
|
|
||
|
if (!(fl = fopen(fname, "rb"))) {
|
||
|
sprintf(buf, "%s has no rent file.\r\n", fname);
|
||
|
printf("%s", buf);
|
||
|
return;
|
||
|
}
|
||
|
sprintf(buf, "%s\r\n", fname);
|
||
|
if (!feof(fl))
|
||
|
fread(&rent, sizeof(struct rent_info), 1, fl);
|
||
|
switch (rent.rentcode) {
|
||
|
case RENT_RENTED:
|
||
|
strcat(buf, "Rent\r\n");
|
||
|
break;
|
||
|
case RENT_CRASH:
|
||
|
strcat(buf, "Crash\r\n");
|
||
|
break;
|
||
|
case RENT_CRYO:
|
||
|
strcat(buf, "Cryo\r\n");
|
||
|
break;
|
||
|
case RENT_TIMEDOUT:
|
||
|
case RENT_FORCED:
|
||
|
strcat(buf, "TimedOut\r\n");
|
||
|
break;
|
||
|
default:
|
||
|
strcat(buf, "Undef\r\n");
|
||
|
break;
|
||
|
}
|
||
|
while (!feof(fl)) {
|
||
|
fread(&object, sizeof(struct obj_file_elem), 1, fl);
|
||
|
if (ferror(fl)) {
|
||
|
fclose(fl);
|
||
|
return;
|
||
|
}
|
||
|
if (!feof(fl))
|
||
|
sprintf(buf, "%s[%5d] %s\n", buf, object.item_number, fname);
|
||
|
}
|
||
|
printf("%s", buf);
|
||
|
fclose(fl);
|
||
|
}
|