diff -r eb1ecb37c6b7 -r b4f29fb16159 src/FilesystemCommand.h --- a/src/FilesystemCommand.h Wed Jan 16 18:19:50 2019 +0100 +++ b/src/FilesystemCommand.h Wed Jan 16 19:31:37 2019 +0100 @@ -95,17 +95,11 @@ // we probably do not have permissions to given directory → pretend that the file does not exist } - for (auto& finder : attributeFinders) finder.second->startFile(file, originalName.str()); + for (auto& finder : attributeFinders) finder.second->startFile(file, originalName.str(), exists); for (RequestedField field : configuration.fields) { AttributeFinder* finder = attributeFinders[field.group]; // should not be nullptr, because already checked while writing the relation metadata - - // TODO: links to non-existent files are currently treated as non-existent files → we still can return the type and symlink_target values - if (exists || (field.group == RequestedField::GROUP_FILE && field.name == FileAttributeFinder::FIELD_PATH_ORIGINAL)) { - finder->writeField(writer.get(), field); - } else { - finder->writeEmptyField(writer.get(), field); - } + finder->writeField(writer.get(), field); } for (auto& finder : attributeFinders) finder.second->endFile();