diff options
| author | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2022-04-26 14:52:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-26 14:52:58 +0200 |
| commit | f1c1cfb6d2e865e966593ee9815e619b6c581304 (patch) | |
| tree | 0b99532c281b427fb97d8ada3d6fbd53fbb19d9b /src/string.cpp | |
| parent | 80df9fbc651aa9c919eaaab822a46d7f5cdad645 (diff) | |
| parent | ba5e33bc3518c327057102f56ac2c1cce55dc76f (diff) | |
Merge pull request #1747 from Kelimion/filename-merge
Filename generation
Diffstat (limited to 'src/string.cpp')
| -rw-r--r-- | src/string.cpp | 37 |
1 files changed, 2 insertions, 35 deletions
diff --git a/src/string.cpp b/src/string.cpp index d3dbc6904..616761265 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -245,15 +245,14 @@ gb_inline isize string_extension_position(String const &str) { return dot_pos; } -String path_extension(String const &str) { +String path_extension(String const &str, bool include_dot = true) { isize pos = string_extension_position(str); if (pos < 0) { return make_string(nullptr, 0); } - return substring(str, pos, str.len); + return substring(str, include_dot ? pos : pos + 1, str.len); } - String string_trim_whitespace(String str) { while (str.len > 0 && rune_is_whitespace(str[str.len-1])) { str.len--; @@ -299,38 +298,6 @@ String filename_from_path(String s) { return make_string(nullptr, 0); } -String remove_extension_from_path(String const &s) { - for (isize i = s.len-1; i >= 0; i--) { - if (s[i] == '.') { - return substring(s, 0, i); - } - } - return s; -} - -String remove_directory_from_path(String const &s) { - isize len = 0; - for (isize i = s.len-1; i >= 0; i--) { - if (s[i] == '/' || - s[i] == '\\') { - break; - } - len += 1; - } - return substring(s, s.len-len, s.len); -} - -String directory_from_path(String const &s) { - isize i = s.len-1; - for (; i >= 0; i--) { - if (s[i] == '/' || - s[i] == '\\') { - break; - } - } - return substring(s, 0, i); -} - String concatenate_strings(gbAllocator a, String const &x, String const &y) { isize len = x.len+y.len; u8 *data = gb_alloc_array(a, u8, len+1); |