mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-26 16:05:48 -04: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
3 changed files with 32 additions and 3 deletions
|
@ -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 */
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue