mirror of https://github.com/ARMmbed/mbed-os.git
retarget: Fix path behaviour without leading slash
Current behaviour ends up undefined when the constructor leaves early. Now FilePath just discards leading slashes and otherwise asserts if the path is bad.pull/6156/head
parent
5c7cd1f689
commit
72b0a07ffe
|
|
@ -18,9 +18,10 @@
|
|||
namespace mbed {
|
||||
|
||||
FilePath::FilePath(const char* file_path) : file_name(NULL), fb(NULL) {
|
||||
if ((file_path[0] != '/') || (file_path[1] == 0)) return;
|
||||
// skip slashes
|
||||
file_path += strspn(file_path, "/");
|
||||
|
||||
const char* file_system = &file_path[1];
|
||||
const char* file_system = file_path;
|
||||
file_name = file_system;
|
||||
int len = 0;
|
||||
while (true) {
|
||||
|
|
@ -36,6 +37,7 @@ FilePath::FilePath(const char* file_path) : file_name(NULL), fb(NULL) {
|
|||
file_name++;
|
||||
}
|
||||
|
||||
MBED_ASSERT(len != 0);
|
||||
fb = FileBase::lookup(file_system, len);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue