Просмотр исходного кода

core: overwrite previous string content

Daniele Bartolini 8 лет назад
Родитель
Сommit
b7021b6a11
2 измененных файлов с 5 добавлено и 1 удалено
  1. 1 1
      src/core/filesystem/path.cpp
  2. 4 0
      src/core/unit_tests.cpp

+ 1 - 1
src/core/filesystem/path.cpp

@@ -57,7 +57,7 @@ namespace path
 		const u32 la = strlen32(path_a);
 		const u32 lb = strlen32(path_b);
 		path.reserve(la + lb + 1);
-		path += path_a;
+		path  = path_a;
 		path += PATH_SEPARATOR;
 		path += path_b;
 	}

+ 4 - 0
src/core/unit_tests.cpp

@@ -1150,6 +1150,8 @@ static void test_path()
 		DynamicString path(ta);
 		path::join(path, "/home", "foo");
 		ENSURE(path == "/home/foo");
+		path::join(path, "/home", "bar");
+		ENSURE(path == "/home/bar");
 	}
 	{
 		ENSURE(path::has_trailing_separator("/home/foo/"));
@@ -1191,6 +1193,8 @@ static void test_path()
 		DynamicString path(ta);
 		path::join(path, "C:\\Users", "foo");
 		ENSURE(path == "C:\\Users\\foo");
+		path::join(path, "C:\\Users", "bar");
+		ENSURE(path == "C:\\Users\\bar");
 	}
 	{
 		ENSURE(path::has_trailing_separator("C:\\Users\\foo\\"));