List argument works, started on removal
This commit is contained in:
parent
ea2669da23
commit
1ef2de13a0
23
src/stuffy.c
23
src/stuffy.c
@ -96,7 +96,25 @@ void AddToArchive(char* archiveName, char* fileName)
|
|||||||
|
|
||||||
void RemoveFromArchive(char* archiveName, char* fileName)
|
void RemoveFromArchive(char* archiveName, char* fileName)
|
||||||
{
|
{
|
||||||
|
ssize_t readSize;
|
||||||
|
int archiveFile = open(archiveName, O_RDWR | O_CREAT, 0644);
|
||||||
|
if (archiveFile < 0)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s failed to open.\n", archiveName);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
if (!IsFileArchived(archiveFile, fileName))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "File not found.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
HeaderStruct moduleHeader;
|
||||||
|
readSize = read(archiveFile, &moduleHeader, sizeof(moduleHeader));
|
||||||
|
while (readSize > 0)
|
||||||
|
{
|
||||||
;
|
;
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListArchive(char* archiveName)
|
void ListArchive(char* archiveName)
|
||||||
@ -110,11 +128,16 @@ void ListArchive(char* archiveName)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
HeaderStruct moduleHeader;
|
HeaderStruct moduleHeader;
|
||||||
|
readSize = read(archiveFile, &moduleHeader, sizeof(moduleHeader));
|
||||||
while (readSize > 0)
|
while (readSize > 0)
|
||||||
{
|
{
|
||||||
moduleSize = (long long) moduleHeader.moduleInfo.st_size;
|
moduleSize = (long long) moduleHeader.moduleInfo.st_size;
|
||||||
|
printf("Name: %s | Size: %lld\n", moduleHeader.moduleName, moduleSize);
|
||||||
char moduleData[moduleSize];
|
char moduleData[moduleSize];
|
||||||
|
read(archiveFile, &moduleData, moduleSize);
|
||||||
|
readSize = read(archiveFile, &moduleHeader, sizeof(moduleHeader));
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExtractArchive(char* argv[])
|
void ExtractArchive(char* argv[])
|
||||||
|
Loading…
Reference in New Issue
Block a user