comparison src/core/filesystem.cpp @ 64:fe719c109dbc

*: update 1. add media tracking ability, and it displays info on the `now playing` page 2. the `now playing` page now actually shows something 3. renamed every page class to be more accurate to what it is 4. ...
author Paper <mrpapersonic@gmail.com>
date Sun, 01 Oct 2023 23:15:43 -0400
parents 3d2decf093bb
children 3364fadc8a36
comparison
equal deleted inserted replaced
63:3d2decf093bb 64:fe719c109dbc
65 return stat(_path.c_str(), &st) == 0; 65 return stat(_path.c_str(), &st) == 0;
66 #endif 66 #endif
67 } 67 }
68 68
69 std::string Path::Basename() const { 69 std::string Path::Basename() const {
70 return _path.substr(0, _path.find_last_of(DELIM)); 70 unsigned long long pos = _path.find_last_of(DELIM);
71 return pos != std::string::npos ? _path.substr(pos+1, _path.length()) : "";
71 } 72 }
72 73
73 std::string Path::Stem() const { 74 std::string Path::Stem() const {
74 std::string basename = Basename(); 75 std::string basename = Basename();
75 return basename.substr(0, basename.find_last_of(".")); 76 unsigned long long pos = basename.find_last_of(".");
77 return pos != std::string::npos ? basename.substr(0, pos) : "";
76 } 78 }
77 79
78 std::string Path::Extension() const { 80 std::string Path::Extension() const {
79 std::string basename = Basename(); 81 std::string basename = Basename();
80 return basename.substr(basename.find_last_of("."), basename.length()); 82 unsigned long long pos = basename.find_last_of(".");
83 return pos != std::string::npos ? basename.substr(pos+1, basename.length()) : "";
81 } 84 }
82 85
83 Path Path::GetParent() const { 86 Path Path::GetParent() const {
84 return _path.substr(0, _path.find_last_of(DELIM)); 87 return _path.substr(0, _path.find_last_of(DELIM));
85 } 88 }