Compare commits

..

No commits in common. "cf8d3c6ff9589abb1961811e9114fb8c31c9acf5" and "944d32de36d1116a3cdebd1fe9e68ca234ad918c" have entirely different histories.

4 changed files with 2 additions and 43 deletions

View File

@ -7,16 +7,12 @@ extern "C"
void* memset(void* buf, int c, usize n);
int memcmp(const void* a, const void* b, usize n);
void* memmove(void* dest, const void* src, usize n);
usize strlen(const char* str);
usize strnlen(const char* str, usize max);
int strcmp(const char* a, const char* b);
usize wcslen(const wchar_t* str);
char* strdup(const char* str);
char* strndup(const char* str, usize max);
// Copies len bytes from src into dest and adds a null terminator.
// FIXME: Replace this invented function with strlcpy().

View File

@ -5,7 +5,6 @@ class OwnedStringView
{
public:
OwnedStringView(char* c_str);
OwnedStringView(char* c_str, usize length);
OwnedStringView();
OwnedStringView(OwnedStringView&&);
OwnedStringView(const OwnedStringView&) = delete;
@ -13,8 +12,6 @@ class OwnedStringView
Result<OwnedStringView> clone() const;
Result<OwnedStringView> substring(usize begin, usize size) const;
static Result<OwnedStringView> from_string_literal(const char* str);
const char* chars() const

View File

@ -46,14 +46,6 @@ extern "C"
return (usize)(i - str);
}
usize strnlen(const char* str, usize max)
{
const char* i = str;
for (; max, *i; ++i, --max)
;
return (usize)(i - str);
}
int strcmp(const char* a, const char* b)
{
while (*a && (*a == *b))
@ -76,22 +68,10 @@ extern "C"
{
const usize len = strlen(str);
char* dest = (char*)calloc_impl(len + 1, 1).value_or(nullptr);
char* dest = (char*)malloc_impl(len + 1).value_or(nullptr);
if (!dest) return nullptr;
memcpy(dest, str, len);
return dest;
}
char* strndup(const char* str, usize max)
{
const usize len = strnlen(str, max);
char* dest = (char*)calloc_impl(len + 1, 1).value_or(nullptr);
if (!dest) return nullptr;
memcpy(dest, str, len);
memcpy(dest, str, len + 1);
return dest;
}

View File

@ -21,12 +21,6 @@ OwnedStringView::OwnedStringView(char* c_str)
if (m_string) { m_length = strlen(m_string); }
}
OwnedStringView::OwnedStringView(char* c_str, usize length)
{
m_string = c_str;
m_length = length;
}
OwnedStringView::~OwnedStringView()
{
if (m_string) free_impl(m_string);
@ -37,14 +31,6 @@ Result<OwnedStringView> OwnedStringView::clone() const
return from_string_literal(m_string);
}
Result<OwnedStringView> OwnedStringView::substring(usize begin, usize size) const
{
if (begin + size >= size) return err(EINVAL);
char* const dup = strndup(m_string + begin, size);
if (!dup) return err(ENOMEM);
return OwnedStringView { dup, size };
}
const char& OwnedStringView::operator[](usize index) const
{
expect(index < m_length, "index out of range");