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:
joss17 2009-05-05 13:32:59 +00:00
parent 5cd93b772d
commit 16231dea2b
3 changed files with 32 additions and 3 deletions

View file

@ -94,6 +94,10 @@ bool FileIndexMonitor::findLocalFile(std::string hash,
} }
fullpath += fe->name; fullpath += fe->name;
size = fe->size;
ok = true;
} else {
fullpath = fe->name;
size = fe->size; size = fe->size;
ok = true; ok = true;
} }
@ -132,6 +136,12 @@ bool FileIndexMonitor::convertSharedFilePath(std::string path, std::string &f
std::cerr << "FileIndexMonitor::convertSharedFilePath() Found Path: " << fullpath << std::endl; std::cerr << "FileIndexMonitor::convertSharedFilePath() Found Path: " << fullpath << std::endl;
#endif #endif
ok = true; ok = true;
} else {
fullpath = path;
ok = true;
#ifdef FIM_DEBUG
std::cerr << "FileIndexMonitor::convertSharedFilePath() Found Path: " << fullpath << std::endl;
#endif
} }
} fiMutex.unlock(); /* UNLOCKED DIRS */ } fiMutex.unlock(); /* UNLOCKED DIRS */

View file

@ -757,6 +757,13 @@ int FileIndex::loadIndex(std::string filename, std::string expectedHash, uint64_
(it->second)->parent = root; (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; break;
} }
/* pop stack */ /* pop stack */

View file

@ -336,7 +336,19 @@ int FileIndexStore::RequestDirDetails(void *ref, DirDetails &details, uint32_t f
else else
{ {
/* NEW add path (to dir - if dir, or parent dir - if file? */ /* NEW add path (to dir - if dir, or parent dir - if file? */
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; details.path = parent->path;
}
while(parent->parent) while(parent->parent)
parent = parent->parent; parent = parent->parent;