diff options
| author | John Wilbert M. Villamor <lameguy64@gmail.com> | 2019-04-06 10:11:07 +0800 |
|---|---|---|
| committer | John Wilbert M. Villamor <lameguy64@gmail.com> | 2019-04-06 10:11:07 +0800 |
| commit | f3e040230772f978540a71aea43dfde200992922 (patch) | |
| tree | bd8ca31b72dd01e24980b073854e263589530f56 /tools/lzpack/filelist.cpp | |
| download | psn00bsdk-f3e040230772f978540a71aea43dfde200992922.tar.gz | |
First commit
Diffstat (limited to 'tools/lzpack/filelist.cpp')
| -rw-r--r-- | tools/lzpack/filelist.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tools/lzpack/filelist.cpp b/tools/lzpack/filelist.cpp new file mode 100644 index 0000000..8554ae0 --- /dev/null +++ b/tools/lzpack/filelist.cpp @@ -0,0 +1,79 @@ +#include "filelist.h" + +FileListClass::FileListClass() { + + NumFiles = 0; + AllocFiles = 1; + + FileList = (FileListEntry*)malloc(sizeof(FileListEntry)); + memset(FileList, 0x00, sizeof(FileListEntry)); + +} + +FileListClass::~FileListClass() { + + for(int i=NumFiles-1; i>=0; i--) { + + if (FileList[i].fileName != NULL) + free(FileList[i].fileName); + + if (FileList[i].aliasName != NULL) + free(FileList[i].aliasName); + + } + + free(FileList); + +} + +void FileListClass::AddFileEntry(const char* fileName, const char* aliasName, short windowSize, short hash1Size, short hash2Size) { + + if (NumFiles >= AllocFiles) { + + FileList = (FileListEntry*)realloc(FileList, sizeof(FileListEntry)*(AllocFiles+1)); + memset(&FileList[AllocFiles], 0x00, sizeof(FileListEntry)); + + AllocFiles++; + + } + + if (aliasName == NULL) + FileList[NumFiles].aliasName = NULL; + else + FileList[NumFiles].aliasName = strdup(aliasName); + + FileList[NumFiles].fileName = strdup(fileName); + FileList[NumFiles].windowSize = windowSize; + FileList[NumFiles].hash1Size = hash1Size; + FileList[NumFiles].hash2Size = hash2Size; + NumFiles++; + +} + +const FileListEntry* FileListClass::Entry(int index) { + + return(&FileList[index]); + +} + +int FileListClass::EntryCount() { + + return(NumFiles); + +} + +void FileListClass::PrintEntries() { + + for(int i=0; i<NumFiles; i++) { + + printf("FL FILE:%s", FileList[i].fileName); + + if (FileList[i].aliasName != NULL) { + printf(" ALIAS:%s\n", FileList[i].aliasName); + } else { + printf("\n"); + } + + } + +} |
