summaryrefslogtreecommitdiffstats
path: root/editor/editor_export.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2021-11-30 15:19:26 +0100
committerRémi Verschelde <rverschelde@gmail.com>2021-11-30 16:26:29 +0100
commit7da392bcc52366740394322728464e724cf20cdf (patch)
tree5c3579dc3743a244b4a5e25ae02220b8790742c6 /editor/editor_export.cpp
parent2d118bd8b881fe9658e70eb8dc4fa7a6efac41a3 (diff)
downloadredot-engine-7da392bcc52366740394322728464e724cf20cdf.tar.gz
Don't return reference on copy assignment operators
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this can lead to confusing code and subtle bugs. According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++ allows any arbitrary return type, so this is standard compliant. This could be re-assessed if/when we have an actual need for a behavior more akin to that of the C++ STL, for now this PR simply changes a handful of cases which were inconsistent with the rest of the codebase (`void` return type was already the most common case prior to this commit).
Diffstat (limited to 'editor/editor_export.cpp')
-rw-r--r--editor/editor_export.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp
index 03d91ebcba..55a2c319fe 100644
--- a/editor/editor_export.cpp
+++ b/editor/editor_export.cpp
@@ -488,8 +488,8 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S
String cur_dir_no_prefix = cur_dir.replace("res://", "");
Vector<String> dirs;
- String f;
- while ((f = da->get_next()) != "") {
+ String f = da->get_next();
+ while (!f.is_empty()) {
if (da->current_is_dir()) {
dirs.push_back(f);
} else {
@@ -506,6 +506,7 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S
}
}
}
+ f = da->get_next();
}
da->list_dir_end();