home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
OS2ARC_S.ZIP
/
ARCTST.C
< prev
next >
Wrap
Text File
|
1987-10-15
|
2KB
|
56 lines
/* ARC - Archive utility - ARCTST
$define(tag,$$segment(@1,$$index(@1,=)+1))#
$define(version,Version $tag(
TED_VERSION DB =2.12), created on $tag(
TED_DATE DB =02/03/86) at $tag(
TED_TIME DB =23:00:40))#
$undefine(tag)#
$version
(C) COPYRIGHT 1985 by System Enhancement Associates; ALL RIGHTS RESERVED
By: Thom Henderson
Description:
This file contains the routines used to test archive integrity.
Language:
Computer Innovations Optimizing C86
*/
#include <stdio.h>
#include "arc.h"
tstarc() /* test integrity of an archive */
{
struct heads hdr; /* file header */
long arcsize, ftell(); /* archive size */
openarc(0); /* open archive for reading */
fseek(arc,0L,2); /* move to end of archive */
arcsize = ftell(arc); /* see how big it is */
rewind(arc); /* rew with error fix*/
/*fseek(arc,0L,0); /* return to top of archive */
while(readhdr(&hdr,arc))
{ if(ftell(arc)+hdr.size>arcsize)
{ printf("Archive truncated in file %s\n",hdr.name);
nerrs++;
break;
}
else
{ printf("Testing file: %-12s ",hdr.name);
if(unpack(arc,NULL,&hdr))
nerrs++;
else printf("okay\n");
}
}
if(nerrs<1)
printf("No errors detected\n");
else if(nerrs==1)
printf("One error detected\n");
else printf("%d errors detected\n",nerrs);
}