Lines Matching refs:item
77 void InsertInDiscList(DirStructure* item) in InsertInDiscList() argument
88 if (item->fileNewPosition < s->fileNewPosition) in InsertInDiscList()
90 s->prevInDisc->nextInDisc = item; in InsertInDiscList()
91 item->prevInDisc = s->prevInDisc; in InsertInDiscList()
93 s->prevInDisc = item; in InsertInDiscList()
94 item->nextInDisc = s; in InsertInDiscList()
99 item->nextInDisc = NULL; in InsertInDiscList()
101 p->nextInDisc = item; in InsertInDiscList()
102 item->prevInDisc = p; in InsertInDiscList()
123 DirStructure* item; in CreateHierarchy() local
136 if ( NULL == (item = (DirStructure*)malloc(sizeof(DirStructure))) ) in CreateHierarchy()
142 strcpy(item->pathName, entryInfo.pathName); in CreateHierarchy()
143 item->nameOffset = entryInfo.nameOffset; in CreateHierarchy()
144 item->name = item->pathName + item->nameOffset; in CreateHierarchy()
146 item->next = NULL; in CreateHierarchy()
147 item->parent = currDir; in CreateHierarchy()
148 item->child = NULL; in CreateHierarchy()
149 item->file = NULL; in CreateHierarchy()
151 if (item->isDir = entryInfo.isDir) in CreateHierarchy()
155 currDir->child = item; in CreateHierarchy()
156 item->prev = NULL; in CreateHierarchy()
161 lastDir->next = item; in CreateHierarchy()
162 item->prev = lastDir; in CreateHierarchy()
165 lastDir = item; in CreateHierarchy()
167 CreateHierarchy(handle, item, entryInfo.nextEntry); in CreateHierarchy()
173 currDir->file = item; in CreateHierarchy()
174 item->prev = NULL; in CreateHierarchy()
179 lastFile->next = item; in CreateHierarchy()
180 item->prev = lastFile; in CreateHierarchy()
183 lastFile = item; in CreateHierarchy()
185 strcpy(item->dirName, "."); in CreateHierarchy()
186 strcpy(item->fileName, handle->name); in CreateHierarchy()
187 item->filePosition = entryInfo.filePosition; in CreateHierarchy()
188 item->fileNewPosition = entryInfo.filePosition; in CreateHierarchy()
189 item->fileLength = entryInfo.fileLength; in CreateHierarchy()
191 InsertInDiscList(item); in CreateHierarchy()
207 void freeDir(DirStructure* item) in freeDir() argument
213 for(child = item->child; child != NULL;) in freeDir()
220 for(file = item->file; file != NULL;) in freeDir()
233 free(item); in freeDir()
246 void DeleteItemFromStructure(DirStructure* item) in DeleteItemFromStructure() argument
252 prevItem = item->prev; in DeleteItemFromStructure()
255 parent = item->parent; in DeleteItemFromStructure()
256 if (item->isDir) in DeleteItemFromStructure()
257 parent->child = item->next; in DeleteItemFromStructure()
259 parent->file = item->next; in DeleteItemFromStructure()
264 prevItem->next = item->next; in DeleteItemFromStructure()
267 nextItem = item->next; in DeleteItemFromStructure()
271 if (!item->isDir) in DeleteItemFromStructure()
273 item->prevInDisc->nextInDisc = item->nextInDisc; in DeleteItemFromStructure()
274 if (item->nextInDisc) in DeleteItemFromStructure()
276 item->nextInDisc->prevInDisc = item->prevInDisc; in DeleteItemFromStructure()
280 if (item->isDir) in DeleteItemFromStructure()
281 freeDir(item); in DeleteItemFromStructure()
283 free(item); in DeleteItemFromStructure()
332 DirStructure* item; in FindMatchingItemName() local
336 for(item = dir->child; item != NULL; item = item->next) in FindMatchingItemName()
338 if ( (MyStrnCmp(item->name, name, count) == 0) && in FindMatchingItemName()
339 (strlen(item->name) == count) ) in FindMatchingItemName()
340 return item; in FindMatchingItemName()
343 for(item = dir->file; item != NULL; item = item->next) in FindMatchingItemName()
345 if ( (MyStrnCmp(item->name, name, count) == 0) && in FindMatchingItemName()
346 (strlen(item->name) == count) ) in FindMatchingItemName()
347 return item; in FindMatchingItemName()
396 DirStructure* item; in Delete() local
413 ( (item = FindMatchingItemName(curr, nameptr, n)) == NULL ) ) in Delete()
424 curr = item; in Delete()
427 DeleteItemFromStructure(item); in Delete()
568 DirStructure* item; in DeterminPositionInDisc() local
570 for (item = &DiskStart; item->nextInDisc; ) in DeterminPositionInDisc()
572 item = item->nextInDisc; in DeterminPositionInDisc()
574 item->fileNewPosition = userPos; in DeterminPositionInDisc()
575 userPos += RoundUp32B(item->fileLength); in DeterminPositionInDisc()
593 DirStructure* item; in ConstructFSTFromStructure() local
636 item = root; in ConstructFSTFromStructure()
653 item->entrynum = i; in ConstructFSTFromStructure()
655 setIsDir(currFSTEntry, item->isDir); in ConstructFSTFromStructure()
660 fprintf(stderr, "pathname: %s\n", item->pathName); in ConstructFSTFromStructure()
661 fprintf(stderr, "name: %s\n", item->name); in ConstructFSTFromStructure()
664 strcpy(charPtr, item->name); in ConstructFSTFromStructure()
665 charPtr += strlen(item->name) + 1; in ConstructFSTFromStructure()
667 if (item->isDir) in ConstructFSTFromStructure()
669 setParent(currFSTEntry, item->parent->entrynum); in ConstructFSTFromStructure()
670 setNextEntry(currFSTEntry, (i + item->numItems)); in ConstructFSTFromStructure()
675 setPosition(currFSTEntry, item->fileNewPosition); in ConstructFSTFromStructure()
676 setLength(currFSTEntry, item->fileLength); in ConstructFSTFromStructure()
678 if(SetCurrentDirectory(item->dirName) == 0) in ConstructFSTFromStructure()
681 progName, item->dirName); in ConstructFSTFromStructure()
686 if( (fidOld = open(item->fileName, O_BINARY | O_RDONLY)) == -1 ) in ConstructFSTFromStructure()
688 fprintf(stderr, "%s: Error opening %s\n", progName, item->fileName); in ConstructFSTFromStructure()
692 CopyUtility(fidOld, item->filePosition, fidNew, item->fileNewPosition, in ConstructFSTFromStructure()
693 item->fileLength); in ConstructFSTFromStructure()
700 item = item->nextInFst; in ConstructFSTFromStructure()
811 DirStructure* item; in CreateHierarchyFromFilesRecursively() local
871 if ( NULL == (item = (DirStructure*)malloc(sizeof(DirStructure))) ) in CreateHierarchyFromFilesRecursively()
877 strcpy(item->pathName, currDir->pathName); in CreateHierarchyFromFilesRecursively()
878 strcat(item->pathName, "/"); in CreateHierarchyFromFilesRecursively()
879 item->nameOffset = strlen(item->pathName); in CreateHierarchyFromFilesRecursively()
880 strcat(item->pathName, findData.cFileName); in CreateHierarchyFromFilesRecursively()
881 item->name = item->pathName + item->nameOffset; in CreateHierarchyFromFilesRecursively()
883 strcpy(item->dirName, currDir->dirName); in CreateHierarchyFromFilesRecursively()
884 strcpy(item->fileName, currDir->fileName); in CreateHierarchyFromFilesRecursively()
885 strcat(item->fileName, "/"); in CreateHierarchyFromFilesRecursively()
886 strcat(item->fileName, findData.cFileName); in CreateHierarchyFromFilesRecursively()
888 item->next = NULL; in CreateHierarchyFromFilesRecursively()
889 item->parent = currDir; in CreateHierarchyFromFilesRecursively()
890 item->child = NULL; in CreateHierarchyFromFilesRecursively()
891 item->file = NULL; in CreateHierarchyFromFilesRecursively()
893 item->isDir = (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)? TRUE : FALSE; in CreateHierarchyFromFilesRecursively()
895 if (item->isDir) in CreateHierarchyFromFilesRecursively()
899 currDir->child = item; in CreateHierarchyFromFilesRecursively()
900 item->prev = NULL; in CreateHierarchyFromFilesRecursively()
905 lastDir->next = item; in CreateHierarchyFromFilesRecursively()
906 item->prev = lastDir; in CreateHierarchyFromFilesRecursively()
909 lastDir = item; in CreateHierarchyFromFilesRecursively()
911 CreateHierarchyFromFilesRecursively(item); in CreateHierarchyFromFilesRecursively()
917 currDir->file = item; in CreateHierarchyFromFilesRecursively()
918 item->prev = NULL; in CreateHierarchyFromFilesRecursively()
923 lastFile->next = item; in CreateHierarchyFromFilesRecursively()
924 item->prev = lastFile; in CreateHierarchyFromFilesRecursively()
927 lastFile = item; in CreateHierarchyFromFilesRecursively()
929 item->filePosition = 0; in CreateHierarchyFromFilesRecursively()
930 item->fileNewPosition = 0; in CreateHierarchyFromFilesRecursively()
936 item->fileName); in CreateHierarchyFromFilesRecursively()
939 item->fileLength = findData.nFileSizeLow; in CreateHierarchyFromFilesRecursively()
941 DiskLastPtr->nextInDisc = item; in CreateHierarchyFromFilesRecursively()
942 item->prevInDisc = DiskLastPtr; in CreateHierarchyFromFilesRecursively()
943 DiskLastPtr = item; in CreateHierarchyFromFilesRecursively()
949 static void AddItem(DirStructure* parent, DirStructure* item) in AddItem() argument
954 item->parent = parent; in AddItem()
956 if (item->isDir) in AddItem()
963 *start = item; in AddItem()
964 item->next = NULL; in AddItem()
965 item->prev = NULL; in AddItem()
973 curr->next = item; in AddItem()
974 item->next = NULL; in AddItem()
975 item->prev = curr; in AddItem()
983 DirStructure* item; in MergeDirStructure() local
987 for(item = root2->child; item; item = item->next) in MergeDirStructure()
989 next = item->next; in MergeDirStructure()
991 matched = FindMatchingItemName(root1, item->name, strlen(item->name)); in MergeDirStructure()
994 AddItem(root1, item); in MergeDirStructure()
999 MergeDirStructure(matched, item); in MergeDirStructure()
1011 for(item = root2->file; item; item = next) in MergeDirStructure()
1013 next = item->next; in MergeDirStructure()
1015 matched = FindMatchingItemName(root1, item->name, strlen(item->name)); in MergeDirStructure()
1018 AddItem(root1, item); in MergeDirStructure()
1048 DirStructure* item; in CreateHierarchyFromFiles() local
1094 if ( NULL == (item = (DirStructure*)malloc(sizeof(DirStructure))) ) in CreateHierarchyFromFiles()
1103 item->isDir = TRUE; in CreateHierarchyFromFiles()
1104 item->next = NULL; in CreateHierarchyFromFiles()
1105 item->prev = NULL; in CreateHierarchyFromFiles()
1106 item->child = NULL; in CreateHierarchyFromFiles()
1107 item->parent = last; in CreateHierarchyFromFiles()
1108 strcpy(item->pathName, name); in CreateHierarchyFromFiles()
1109 item->pathName[(nameptr - name) + next] = '\0'; in CreateHierarchyFromFiles()
1110 strcpy(item->dirName, dirName); in CreateHierarchyFromFiles()
1111 strcpy(item->fileName, item->pathName); in CreateHierarchyFromFiles()
1112 item->nameOffset = nameptr - name; in CreateHierarchyFromFiles()
1113 item->name = item->pathName + item->nameOffset; in CreateHierarchyFromFiles()
1114 item->file = NULL; in CreateHierarchyFromFiles()
1118 last->child = item; in CreateHierarchyFromFiles()
1119 last = item; in CreateHierarchyFromFiles()
1136 item->filePosition = 0; in CreateHierarchyFromFiles()
1137 item->fileNewPosition = 0; in CreateHierarchyFromFiles()
1138 item->fileLength = sb.st_size; in CreateHierarchyFromFiles()
1140 DiskLastPtr->nextInDisc = item; in CreateHierarchyFromFiles()
1141 item->prevInDisc = DiskLastPtr; in CreateHierarchyFromFiles()
1142 DiskLastPtr = item; in CreateHierarchyFromFiles()
1192 DirStructure* item; in ListArcInDiscOrder() local
1208 for (item = DiskStart.nextInDisc; item; item = item->nextInDisc) in ListArcInDiscOrder()
1212 fprintf(stdout, " 0x%08x 0x%08x ", item->fileNewPosition, in ListArcInDiscOrder()
1213 item->fileLength); in ListArcInDiscOrder()
1216 fprintf(stdout, "%s\n", item->pathName); in ListArcInDiscOrder()