mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-20 05:14:25 -05:00
Merge branch 'singleFileClient'
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1167 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
5cd93b772d
commit
16231dea2b
@ -96,7 +96,11 @@ bool FileIndexMonitor::findLocalFile(std::string hash,
|
||||
|
||||
size = fe->size;
|
||||
ok = true;
|
||||
}
|
||||
} else {
|
||||
fullpath = fe->name;
|
||||
size = fe->size;
|
||||
ok = true;
|
||||
}
|
||||
#ifdef FIM_DEBUG
|
||||
std::cerr << "FileIndexMonitor::findLocalFile() Found Path: " << fullpath << std::endl;
|
||||
std::cerr << "FileIndexMonitor::findLocalFile() Found Size: " << size << std::endl;
|
||||
@ -132,7 +136,13 @@ bool FileIndexMonitor::convertSharedFilePath(std::string path, std::string &f
|
||||
std::cerr << "FileIndexMonitor::convertSharedFilePath() Found Path: " << fullpath << std::endl;
|
||||
#endif
|
||||
ok = true;
|
||||
}
|
||||
} else {
|
||||
fullpath = path;
|
||||
ok = true;
|
||||
#ifdef FIM_DEBUG
|
||||
std::cerr << "FileIndexMonitor::convertSharedFilePath() Found Path: " << fullpath << std::endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
} fiMutex.unlock(); /* UNLOCKED DIRS */
|
||||
|
||||
|
@ -757,6 +757,13 @@ int FileIndex::loadIndex(std::string filename, std::string expectedHash, uint64_
|
||||
(it->second)->parent = root;
|
||||
}
|
||||
|
||||
std::map<std::string, FileEntry *>::iterator it2;
|
||||
for(it2 = root->files.begin();
|
||||
it2 != root->files.end(); it2++)
|
||||
{
|
||||
(it2->second)->parent = root;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
/* pop stack */
|
||||
|
@ -336,7 +336,19 @@ int FileIndexStore::RequestDirDetails(void *ref, DirDetails &details, uint32_t f
|
||||
else
|
||||
{
|
||||
/* NEW add path (to dir - if dir, or parent dir - if file? */
|
||||
details.path = parent->path;
|
||||
if (NULL != (person = dynamic_cast<PersonEntry *>(parent))) {
|
||||
//if parent if root, then the path is inside the name; we should parse the name for the last / char
|
||||
int i;
|
||||
for(i = details.name.length(); (i > 0) && (details.name[i] != '/'); i--);
|
||||
if (i != 0) {
|
||||
//the file is in a subdir, let's remove the / char and set correct path
|
||||
details.path = details.name.substr(0,i);
|
||||
details.name = details.name.substr(i + 1);
|
||||
}
|
||||
|
||||
} else {
|
||||
details.path = parent->path;
|
||||
}
|
||||
|
||||
while(parent->parent)
|
||||
parent = parent->parent;
|
||||
|
Loading…
Reference in New Issue
Block a user