aboutsummaryrefslogtreecommitdiff
path: root/tools/lzpack/filelist.cpp
diff options
context:
space:
mode:
authorJohn Wilbert M. Villamor <lameguy64@gmail.com>2019-04-06 10:11:07 +0800
committerJohn Wilbert M. Villamor <lameguy64@gmail.com>2019-04-06 10:11:07 +0800
commitf3e040230772f978540a71aea43dfde200992922 (patch)
treebd8ca31b72dd01e24980b073854e263589530f56 /tools/lzpack/filelist.cpp
downloadpsn00bsdk-f3e040230772f978540a71aea43dfde200992922.tar.gz
First commit
Diffstat (limited to 'tools/lzpack/filelist.cpp')
-rw-r--r--tools/lzpack/filelist.cpp79
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");
+ }
+
+ }
+
+}