home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
553.lha
/
listcom_v1.0
/
listcom.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-09
|
2KB
|
95 lines
;/* ListCom.c
lc -tr ListCom.c
blink with ListCom.lnk
quit
*/
/*************************************************************************/
/* List Comment Version 0.2a Release 8.11 Created: August 11, 1991 */
/* ©1991 John Bianchi Bianchi Computer Systems */
/*************************************************************************/
#include <proto/all.h>
#include <libraries/dos.h>
#include <string.h>
UBYTE *prog = "ListCom";
UBYTE *ver = "1.0";
UBYTE *vers = "\0$VER: ListComment 1.0 (10.8.91)";
UBYTE *CopyRight = "©1991 John Bianchi All Rights Reserved";
struct DosLibrary *DOSBase = NULL;
struct FileInfoBlock fi;
main (argc, argv)
int argc;
char *argv[];
{
long lock;
int error;
char filepath[100],filecomment[80];
int found=FALSE;
unsigned int l;
printf("%s %s %s\n",prog,ver,CopyRight);
if(argc >=4)
printf("Error: too many arguments\n");
if(argc <= 1 || argc >= 4 || strcmp(argv[1],"?") == 0)
{
printf("TEMPLATE: %s <path> <comment>\n",prog);
exit(FALSE);
}
strcpy(filepath, argv[1]);
strcpy(filecomment, argv[2]);
lock = Lock(filepath, ACCESS_READ);
if(!lock)
{
printf("ERROR: Can't get a Lock on: %s\n",filepath);
exit(FALSE);
}
l=strlen(filecomment);
if(Examine(lock, &fi))
do
if(*fi.fib_Comment)
{
if(strnicmp(fi.fib_Comment,filecomment,l) == 0)
{
if(found == FALSE)
{
printf("\n%-30s %9s : %s\n","NAME","SIZE/DIR","COMMENT");
found=TRUE;
}
printf("%-30s ",fi.fib_FileName);
if(fi.fib_DirEntryType > 0)
printf("directory");
else
printf("%9ld",fi.fib_Size);
printf(" : %s\n",fi.fib_Comment);
}
}
while(ExNext(lock, &fi));
error = IoErr();
if(error != ERROR_NO_MORE_ENTRIES)
{
printf("Error %d occurred!\n", error);
exit(FALSE);
}
if(found == FALSE)
printf("no files listed\n");
exit(TRUE);
}