Lines Matching refs:item

73 void InsertInDiscList(DirStructure* item)  in InsertInDiscList()  argument
84 if (item->fileNewPosition < s->fileNewPosition) in InsertInDiscList()
86 s->prevInDisc->nextInDisc = item; in InsertInDiscList()
87 item->prevInDisc = s->prevInDisc; in InsertInDiscList()
89 s->prevInDisc = item; in InsertInDiscList()
90 item->nextInDisc = s; in InsertInDiscList()
95 item->nextInDisc = NULL; in InsertInDiscList()
97 p->nextInDisc = item; in InsertInDiscList()
98 item->prevInDisc = p; in InsertInDiscList()
119 DirStructure* item; in CreateHierarchy() local
132 if ( NULL == (item = (DirStructure*)malloc(sizeof(DirStructure))) ) in CreateHierarchy()
138 strcpy(item->pathName, entryInfo.pathName); in CreateHierarchy()
139 item->nameOffset = entryInfo.nameOffset; in CreateHierarchy()
140 item->name = item->pathName + item->nameOffset; in CreateHierarchy()
142 item->next = NULL; in CreateHierarchy()
143 item->parent = currDir; in CreateHierarchy()
144 item->child = NULL; in CreateHierarchy()
145 item->file = NULL; in CreateHierarchy()
147 if (item->isDir = entryInfo.isDir) in CreateHierarchy()
151 currDir->child = item; in CreateHierarchy()
152 item->prev = NULL; in CreateHierarchy()
157 lastDir->next = item; in CreateHierarchy()
158 item->prev = lastDir; in CreateHierarchy()
161 lastDir = item; in CreateHierarchy()
163 CreateHierarchy(handle, item, entryInfo.nextEntry); in CreateHierarchy()
169 currDir->file = item; in CreateHierarchy()
170 item->prev = NULL; in CreateHierarchy()
175 lastFile->next = item; in CreateHierarchy()
176 item->prev = lastFile; in CreateHierarchy()
179 lastFile = item; in CreateHierarchy()
181 strcpy(item->dirName, "."); in CreateHierarchy()
182 strcpy(item->fileName, handle->name); in CreateHierarchy()
183 item->filePosition = entryInfo.filePosition; in CreateHierarchy()
184 item->fileNewPosition = entryInfo.filePosition; in CreateHierarchy()
185 item->fileLength = entryInfo.fileLength; in CreateHierarchy()
187 InsertInDiscList(item); in CreateHierarchy()
203 void freeDir(DirStructure* item) in freeDir() argument
209 for(child = item->child; child != NULL;) in freeDir()
216 for(file = item->file; file != NULL;) in freeDir()
229 free(item); in freeDir()
242 void DeleteItemFromStructure(DirStructure* item) in DeleteItemFromStructure() argument
248 prevItem = item->prev; in DeleteItemFromStructure()
251 parent = item->parent; in DeleteItemFromStructure()
252 if (item->isDir) in DeleteItemFromStructure()
253 parent->child = item->next; in DeleteItemFromStructure()
255 parent->file = item->next; in DeleteItemFromStructure()
260 prevItem->next = item->next; in DeleteItemFromStructure()
263 nextItem = item->next; in DeleteItemFromStructure()
267 if (!item->isDir) in DeleteItemFromStructure()
269 item->prevInDisc->nextInDisc = item->nextInDisc; in DeleteItemFromStructure()
270 if (item->nextInDisc) in DeleteItemFromStructure()
272 item->nextInDisc->prevInDisc = item->prevInDisc; in DeleteItemFromStructure()
276 if (item->isDir) in DeleteItemFromStructure()
277 freeDir(item); in DeleteItemFromStructure()
279 free(item); in DeleteItemFromStructure()
328 DirStructure* item; in FindMatchingItemName() local
332 for(item = dir->child; item != NULL; item = item->next) in FindMatchingItemName()
334 if ( (MyStrnCmp(item->name, name, count) == 0) && in FindMatchingItemName()
335 (strlen(item->name) == count) ) in FindMatchingItemName()
336 return item; in FindMatchingItemName()
339 for(item = dir->file; item != NULL; item = item->next) in FindMatchingItemName()
341 if ( (MyStrnCmp(item->name, name, count) == 0) && in FindMatchingItemName()
342 (strlen(item->name) == count) ) in FindMatchingItemName()
343 return item; in FindMatchingItemName()
392 DirStructure* item; in Delete() local
409 ( (item = FindMatchingItemName(curr, nameptr, n)) == NULL ) ) in Delete()
420 curr = item; in Delete()
423 DeleteItemFromStructure(item); in Delete()
564 DirStructure* item; in DeterminPositionInDisc() local
566 for (item = &DiskStart; item->nextInDisc; ) in DeterminPositionInDisc()
568 item = item->nextInDisc; in DeterminPositionInDisc()
570 item->fileNewPosition = userPos; in DeterminPositionInDisc()
571 userPos += RoundUp32B(item->fileLength); in DeterminPositionInDisc()
589 DirStructure* item; in ConstructFSTFromStructure() local
632 item = root; in ConstructFSTFromStructure()
649 item->entrynum = i; in ConstructFSTFromStructure()
651 setIsDir(currFSTEntry, item->isDir); in ConstructFSTFromStructure()
656 fprintf(stderr, "pathname: %s\n", item->pathName); in ConstructFSTFromStructure()
657 fprintf(stderr, "name: %s\n", item->name); in ConstructFSTFromStructure()
660 strcpy(charPtr, item->name); in ConstructFSTFromStructure()
661 charPtr += strlen(item->name) + 1; in ConstructFSTFromStructure()
663 if (item->isDir) in ConstructFSTFromStructure()
665 setParent(currFSTEntry, item->parent->entrynum); in ConstructFSTFromStructure()
666 setNextEntry(currFSTEntry, (i + item->numItems)); in ConstructFSTFromStructure()
671 setPosition(currFSTEntry, item->fileNewPosition); in ConstructFSTFromStructure()
672 setLength(currFSTEntry, item->fileLength); in ConstructFSTFromStructure()
674 if(SetCurrentDirectory(item->dirName) == 0) in ConstructFSTFromStructure()
677 progName, item->dirName); in ConstructFSTFromStructure()
682 if( (fidOld = open(item->fileName, O_BINARY | O_RDONLY)) == -1 ) in ConstructFSTFromStructure()
684 fprintf(stderr, "%s: Error opening %s\n", progName, item->fileName); in ConstructFSTFromStructure()
688 CopyUtility(fidOld, item->filePosition, fidNew, item->fileNewPosition, in ConstructFSTFromStructure()
689 item->fileLength); in ConstructFSTFromStructure()
696 item = item->nextInFst; in ConstructFSTFromStructure()
807 DirStructure* item; in CreateHierarchyFromFilesRecursively() local
867 if ( NULL == (item = (DirStructure*)malloc(sizeof(DirStructure))) ) in CreateHierarchyFromFilesRecursively()
873 strcpy(item->pathName, currDir->pathName); in CreateHierarchyFromFilesRecursively()
874 strcat(item->pathName, "/"); in CreateHierarchyFromFilesRecursively()
875 item->nameOffset = strlen(item->pathName); in CreateHierarchyFromFilesRecursively()
876 strcat(item->pathName, findData.cFileName); in CreateHierarchyFromFilesRecursively()
877 item->name = item->pathName + item->nameOffset; in CreateHierarchyFromFilesRecursively()
879 strcpy(item->dirName, currDir->dirName); in CreateHierarchyFromFilesRecursively()
880 strcpy(item->fileName, currDir->fileName); in CreateHierarchyFromFilesRecursively()
881 strcat(item->fileName, "/"); in CreateHierarchyFromFilesRecursively()
882 strcat(item->fileName, findData.cFileName); in CreateHierarchyFromFilesRecursively()
884 item->next = NULL; in CreateHierarchyFromFilesRecursively()
885 item->parent = currDir; in CreateHierarchyFromFilesRecursively()
886 item->child = NULL; in CreateHierarchyFromFilesRecursively()
887 item->file = NULL; in CreateHierarchyFromFilesRecursively()
889 item->isDir = (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)? TRUE : FALSE; in CreateHierarchyFromFilesRecursively()
891 if (item->isDir) in CreateHierarchyFromFilesRecursively()
895 currDir->child = item; in CreateHierarchyFromFilesRecursively()
896 item->prev = NULL; in CreateHierarchyFromFilesRecursively()
901 lastDir->next = item; in CreateHierarchyFromFilesRecursively()
902 item->prev = lastDir; in CreateHierarchyFromFilesRecursively()
905 lastDir = item; in CreateHierarchyFromFilesRecursively()
907 CreateHierarchyFromFilesRecursively(item); in CreateHierarchyFromFilesRecursively()
913 currDir->file = item; in CreateHierarchyFromFilesRecursively()
914 item->prev = NULL; in CreateHierarchyFromFilesRecursively()
919 lastFile->next = item; in CreateHierarchyFromFilesRecursively()
920 item->prev = lastFile; in CreateHierarchyFromFilesRecursively()
923 lastFile = item; in CreateHierarchyFromFilesRecursively()
925 item->filePosition = 0; in CreateHierarchyFromFilesRecursively()
926 item->fileNewPosition = 0; in CreateHierarchyFromFilesRecursively()
932 item->fileName); in CreateHierarchyFromFilesRecursively()
935 item->fileLength = findData.nFileSizeLow; in CreateHierarchyFromFilesRecursively()
937 DiskLastPtr->nextInDisc = item; in CreateHierarchyFromFilesRecursively()
938 item->prevInDisc = DiskLastPtr; in CreateHierarchyFromFilesRecursively()
939 DiskLastPtr = item; in CreateHierarchyFromFilesRecursively()
945 static void AddItem(DirStructure* parent, DirStructure* item) in AddItem() argument
950 item->parent = parent; in AddItem()
952 if (item->isDir) in AddItem()
959 *start = item; in AddItem()
960 item->next = NULL; in AddItem()
961 item->prev = NULL; in AddItem()
969 curr->next = item; in AddItem()
970 item->next = NULL; in AddItem()
971 item->prev = curr; in AddItem()
979 DirStructure* item; in MergeDirStructure() local
983 for(item = root2->child; item; item = item->next) in MergeDirStructure()
985 next = item->next; in MergeDirStructure()
987 matched = FindMatchingItemName(root1, item->name, strlen(item->name)); in MergeDirStructure()
990 AddItem(root1, item); in MergeDirStructure()
995 MergeDirStructure(matched, item); in MergeDirStructure()
1007 for(item = root2->file; item; item = next) in MergeDirStructure()
1009 next = item->next; in MergeDirStructure()
1011 matched = FindMatchingItemName(root1, item->name, strlen(item->name)); in MergeDirStructure()
1014 AddItem(root1, item); in MergeDirStructure()
1044 DirStructure* item; in CreateHierarchyFromFiles() local
1083 if ( NULL == (item = (DirStructure*)malloc(sizeof(DirStructure))) ) in CreateHierarchyFromFiles()
1092 item->isDir = TRUE; in CreateHierarchyFromFiles()
1093 item->next = NULL; in CreateHierarchyFromFiles()
1094 item->prev = NULL; in CreateHierarchyFromFiles()
1095 item->child = NULL; in CreateHierarchyFromFiles()
1096 item->parent = last; in CreateHierarchyFromFiles()
1097 strcpy(item->pathName, name); in CreateHierarchyFromFiles()
1098 item->pathName[(nameptr - name) + next] = '\0'; in CreateHierarchyFromFiles()
1099 strcpy(item->dirName, dirName); in CreateHierarchyFromFiles()
1100 strcpy(item->fileName, item->pathName); in CreateHierarchyFromFiles()
1101 item->nameOffset = nameptr - name; in CreateHierarchyFromFiles()
1102 item->name = item->pathName + item->nameOffset; in CreateHierarchyFromFiles()
1103 item->file = NULL; in CreateHierarchyFromFiles()
1107 last->child = item; in CreateHierarchyFromFiles()
1108 last = item; in CreateHierarchyFromFiles()
1124 item->filePosition = 0; in CreateHierarchyFromFiles()
1125 item->fileNewPosition = 0; in CreateHierarchyFromFiles()
1126 item->fileLength = sb.st_size; in CreateHierarchyFromFiles()
1128 DiskLastPtr->nextInDisc = item; in CreateHierarchyFromFiles()
1129 item->prevInDisc = DiskLastPtr; in CreateHierarchyFromFiles()
1130 DiskLastPtr = item; in CreateHierarchyFromFiles()
1178 DirStructure* item; in ListArcInDiscOrder() local
1194 for (item = DiskStart.nextInDisc; item; item = item->nextInDisc) in ListArcInDiscOrder()
1198 fprintf(stdout, " 0x%08x 0x%08x ", item->fileNewPosition, in ListArcInDiscOrder()
1199 item->fileLength); in ListArcInDiscOrder()
1202 fprintf(stdout, "%s\n", item->pathName); in ListArcInDiscOrder()