From 815567c39b34f9b72292f8701e5a108105e74db8 Mon Sep 17 00:00:00 2001 From: matthijs Date: Thu, 23 Oct 2014 10:49:14 +0000 Subject: (svn r27033) -Codechange: Generalize GetTextfile for multiple extensions - Instead of hardcoding the .txt extension in a printf string, it is now stored in an array of possible extensions. This array still only contains .txt, so behaviour is unchanged, but this makes it easier to add other extensions later. --- src/textfile_gui.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/textfile_gui.cpp') diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index ad6215af5..46bbc009a 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -264,12 +264,19 @@ const char *GetTextfile(TextfileType type, Subdirectory dir, const char *filenam char *slash = strrchr(file_path, PATHSEPCHAR); if (slash == NULL) return NULL; - seprintf(slash + 1, lastof(file_path), "%s_%s.txt", prefix, GetCurrentLanguageIsoCode()); - if (FioCheckFileExists(file_path, dir)) return file_path; + static const char * const exts[] = { + "txt", + }; + + for (size_t i = 0; i < lengthof(exts); i++) { + seprintf(slash + 1, lastof(file_path), "%s_%s.%s", prefix, GetCurrentLanguageIsoCode(), exts[i]); + if (FioCheckFileExists(file_path, dir)) return file_path; - seprintf(slash + 1, lastof(file_path), "%s_%.2s.txt", prefix, GetCurrentLanguageIsoCode()); - if (FioCheckFileExists(file_path, dir)) return file_path; + seprintf(slash + 1, lastof(file_path), "%s_%.2s.%s", prefix, GetCurrentLanguageIsoCode(), exts[i]); + if (FioCheckFileExists(file_path, dir)) return file_path; - seprintf(slash + 1, lastof(file_path), "%s.txt", prefix); - return FioCheckFileExists(file_path, dir) ? file_path : NULL; + seprintf(slash + 1, lastof(file_path), "%s.%s", prefix, exts[i]); + if (FioCheckFileExists(file_path, dir)) return file_path; + } + return NULL; } -- cgit v1.2.3-54-g00ecf