/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\ * |_o_o|\\ Copyright (c) 1989 The Software Distillery. * * |. o.| || All Rights Reserved * * | . | || Written by John Toebes and Doug Walker * * | o | || The Software Distillery * * | . |// 235 Trillingham Lane * * ====== Cary, NC 27513 * * BBS:(919)-471-6436 * \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include "pickpack.h" #include "struct.h" #include "fibgen.h" static struct IntuiText IText = { 1,0,JAM2, /* front and back text pens, drawmode and fill byte */ 0,0, /* XY origin relative to container TopLeft */ &TOPAZ80, /* font pointer or NULL for default */ NULL, /* pointer to text */ NULL /* next IntuiText structure */ }; void stfibnew(nw, it, stnode) struct NewWindow **nw; struct IntuiText **it; struct STNODE *stnode; { *nw = &NewWindowStructure1; *it = NULL; return; } /* Display the struct FileInfoBlock */ int stfibdisp(n) struct STNODE *n; { char data[100]; char date[20]; int len; char *p, *targ; struct FileInfoBlock *fib; INITTEXT(14) BUG(1, ("stfibdisp: Entry, stnode 0x%08x window 0x%08x\n", n, n->w)) fib = n->d.fib; sprintf(data, " fib_DiskKey: 0x%08x (Handler-Dependant)" , fib->fib_DiskKey); SHOWTEXT if (fib->fib_DirEntryType < 0) p = "(PLAIN FILE)"; else p = "(DIRECTORY) "; sprintf(data, "fib_DirEntryType: %10d %s", fib->fib_DirEntryType, p); SHOWTEXT p = fib->fib_FileName; len = *p++; if (len > 32 | len < 0) len = 32; strcpy(data, " fib_FileName: "); targ = data+strlen(data); memset(targ, ' ', 32); memcpy(targ, p, len); targ[32] = 0; SHOWTEXT sprintf(data, " fib_Protection: 0x%08x (Protect: --------)", fib->fib_Protection); /* 01234567890123456789012345678901234567890123" /* We probably want to interpret the protection bits too */ if (fib->fib_Protection & FIBF_SCRIPT) data[36] = 'S'; if (fib->fib_Protection & FIBF_PURE) data[37] = 'P'; if (fib->fib_Protection & FIBF_ARCHIVE) data[38] = 'A'; if (!(fib->fib_Protection & FIBF_READ)) data[39] = 'R'; if (!(fib->fib_Protection & FIBF_WRITE)) data[40] = 'W'; if (!(fib->fib_Protection & FIBF_EXECUTE)) data[41] = 'E'; if (!(fib->fib_Protection & FIBF_DELETE)) data[42] = 'D'; SHOWTEXT if (fib->fib_EntryType < 0) p = "(PLAIN FILE)"; else p = "(DIRECTORY) "; sprintf(data, " fib_EntryType: %10d %s", fib->fib_EntryType, p); SHOWTEXT sprintf(data, " fib_Size: %10d (File size in bytes)", fib->fib_Size); SHOWTEXT sprintf(data, " fib_NumBlocks: %10d (File size in blks)", fib->fib_NumBlocks); SHOWTEXT FormatDate(&fib->fib_Date, date); sprintf(data, " fib_DateStamp: %s (See below)", date); SHOWTEXT sprintf(data, " ds_Days: %10d (Days since 1978)", fib->fib_Date.ds_Days); SHOWTEXT sprintf(data, "ds_Minute: %10d (Min since midnight)", fib->fib_Date.ds_Minute); SHOWTEXT sprintf(data, " ds_Tick: %10d (50 ticks/sec)", fib->fib_Date.ds_Tick); SHOWTEXT p = fib->fib_Comment; len = *p++; if (len > 30) len = 30; sprintf(data, " fib_Comment: "); targ = data+strlen(data); memset(targ, ' ', 30); memcpy(targ, p, len); targ[30] = 0; SHOWTEXT memset(data, ' ', 50); p = fib->fib_Comment; len = *p++ - 30; if (len > 0) memcpy(data+5, p, len); data[50] = 0; SHOWTEXT BUG(1, ("stfibdisp: Exit\n")) return(RC_OK); }