[ox] Fix OxFS 2 Directory test

This commit is contained in:
2018-06-06 23:30:57 -05:00
parent ea7cf59ec7
commit a6b9de9a59
11 changed files with 131 additions and 78 deletions

View File

@@ -51,7 +51,7 @@ class BString {
/**
* Returns the number of bytes used for this string.
*/
std::size_t size() const noexcept;
std::size_t bytes() const noexcept;
/**
* Returns the capacity of bytes for this string.
@@ -162,7 +162,7 @@ std::size_t BString<buffLen>::len() const noexcept {
}
template<std::size_t buffLen>
std::size_t BString<buffLen>::size() const noexcept {
std::size_t BString<buffLen>::bytes() const noexcept {
std::size_t i;
for (i = 0; i < buffLen && m_buff[i]; i++);
return i + 1; // add one for null terminator

View File

@@ -53,6 +53,22 @@ constexpr int ox_strcmp(const char *str1, const char *str2) noexcept {
return retval;
}
constexpr int ox_strncmp(const char *str1, const char *str2, std::size_t len) noexcept {
auto retval = 0;
std::size_t i = 0;
while (i < len && (str1[i] || str2[i])) {
if (str1[i] < str2[i]) {
retval = -1;
break;
} else if (str1[i] > str2[i]) {
retval = 1;
break;
}
i++;
}
return retval;
}
constexpr const char *ox_strchr(const char *str, int character, std::size_t maxLen = 0xFFFFFFFF) noexcept {
for (std::size_t i = 0; i <= maxLen; i++) {
if (str[i] == character) {