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