Lines Matching refs:entry

200 		Entry* entry = new(std::nothrow) Entry(parent, clonedName, implicit);
201 if (entry == NULL) {
206 status_t error = entry->Init();
208 delete entry;
213 parent->fChildren.Insert(entry);
215 _entry = entry;
236 // remove all children and set this entry non-implicit
360 Entry* entry = &fRootFilterEntry;
365 return _AddFilterEntry(entry, fileName, strlen(fileName),
366 false, entry);
374 status_t error = _AddFilterEntry(entry, fileName,
375 nextSlash - fileName, *nextComponent != '\0', entry);
388 Entry* entry = &fRootFilterEntry;
389 while (entry != NULL && *fileName != 0) {
393 return entry->FindChild(fileName);
401 entry = entry->FindChild(componentName);
406 return entry;
409 virtual status_t HandleEntry(typename VersionPolicy::PackageEntry* entry)
417 // check whether this entry shall be ignored or is implicit
420 if (entry->Parent() != NULL) {
421 Token* parentToken = (Token*)entry->Parent()->UserToken();
423 // parent is ignored, so ignore this entry, too
435 ? parentFilterEntry->FindChild(entry->Name()) : NULL;
438 // parent is implicit and the filter doesn't include this entry
443 // If the entry is in the filter, get its implicit flag.
452 // get parent FD and the entry name
455 _GetParentFDAndEntryName(entry, parentFD, entryName);
462 if (S_ISREG(entry->Mode()) || S_ISLNK(entry->Mode())) {
463 // If the entry in the way is a regular file or a symlink,
466 fprintf(stderr, "Error: Can't create entry \"%s\", since "
468 _EntryPath(entry).String());
473 fprintf(stderr, "Error: Failed to unlink entry \"%s\": %s\n",
474 _EntryPath(entry).String(), strerror(errno));
479 } else if (S_ISDIR(entry->Mode())) {
480 // If the entry in the way is a directory, merge, otherwise
485 _EntryPath(entry).String());
491 // create the entry
493 if (S_ISREG(entry->Mode())) {
496 "path directory component.\n", _EntryPath(entry).String());
508 _EntryPath(entry).String(), strerror(errno));
513 status_t error = _ExtractFileData(fPackageFileReader, entry->Data(),
517 } else if (S_ISLNK(entry->Mode())) {
520 "path directory component.\n", _EntryPath(entry).String());
525 const char* symlinkPath = entry->SymlinkPath();
529 _EntryPath(entry).String(), strerror(errno));
533 } else if (S_ISDIR(entry->Mode())) {
541 "%s\n", _EntryPath(entry).String(), strerror(errno));
545 fprintf(stderr, "Error: Invalid file type for entry \"%s\"\n",
546 _EntryPath(entry).String());
551 if (fd < 0 && (!implicit || S_ISDIR(entry->Mode()))) {
554 fprintf(stderr, "Error: Failed to open entry \"%s\": %s\n",
555 _EntryPath(entry).String(), strerror(errno));
563 timespec times[2] = {entry->AccessTime(), entry->ModifiedTime()};
570 entry->SetUserToken(tokenDeleter.Detach());
575 typename VersionPolicy::PackageEntry* entry,
579 Token* token = (Token*)entry->UserToken();
591 _GetParentFDAndEntryName(entry, parentFD, entryName);
595 _EntryPath(entry).String(), strerror(errno));
609 typename VersionPolicy::PackageEntry* entry)
611 Token* token = (Token*)entry->UserToken();
614 if (token != NULL && !S_ISLNK(entry->Mode())) {
615 // get parent FD and entry name
618 _GetParentFDAndEntryName(entry, parentFD, entryName);
620 if (fchmodat(parentFD, entryName, entry->Mode() & ALLPERMS,
623 "\"%s\": %s\n", _EntryPath(entry).String(),
630 entry->SetUserToken(NULL);
679 void _GetParentFDAndEntryName(typename VersionPolicy::PackageEntry* entry,
682 _entryName = entry->Name();
689 _parentFD = entry->Parent() != NULL
690 ? ((Token*)entry->Parent()->UserToken())->fd : fBaseDirectory;
694 BString _EntryPath(const typename VersionPolicy::PackageEntry* entry)
699 = entry->Parent()) {
704 path << entry->Name();
811 fprintf(stderr, "Error: Invalid entry name: \"%s\"\n",
846 if (Entry* entry = handler.FindFilterEntry(explicitEntries[i])) {
847 if (!entry->Seen()) {