Compare commits
2 Commits
d363d5e915
...
bd757d204e
Author | SHA1 | Date | |
---|---|---|---|
bd757d204e | |||
498e20561f |
@ -431,7 +431,7 @@ namespace MemoryManager
|
|||||||
|
|
||||||
TRY(result.try_append(0)); // null terminator
|
TRY(result.try_append(0)); // null terminator
|
||||||
|
|
||||||
return String::from_cstring(result.data());
|
return String { result.release_data() };
|
||||||
}
|
}
|
||||||
|
|
||||||
bool validate_access(const void* mem, usize size, int flags)
|
bool validate_access(const void* mem, usize size, int flags)
|
||||||
|
@ -31,6 +31,8 @@ class Buffer
|
|||||||
return m_data;
|
return m_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8* release_data();
|
||||||
|
|
||||||
u8* end()
|
u8* end()
|
||||||
{
|
{
|
||||||
return m_data + m_size;
|
return m_data + m_size;
|
||||||
|
@ -134,6 +134,14 @@ template <typename T> class Vector
|
|||||||
return m_data;
|
return m_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
T* release_data()
|
||||||
|
{
|
||||||
|
T* data = m_data;
|
||||||
|
m_data = nullptr;
|
||||||
|
m_size = m_capacity = 0;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
Slice<T> slice()
|
Slice<T> slice()
|
||||||
{
|
{
|
||||||
return { m_data, m_size };
|
return { m_data, m_size };
|
||||||
|
@ -152,6 +152,6 @@ namespace Base64
|
|||||||
u8 nul_byte = '\0';
|
u8 nul_byte = '\0';
|
||||||
TRY(buf.append_data(&nul_byte, 1));
|
TRY(buf.append_data(&nul_byte, 1));
|
||||||
|
|
||||||
return String::from_cstring((char*)buf.data());
|
return String { (char*)buf.release_data() };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,3 +52,10 @@ Result<void> Buffer::append_data(const u8* data, usize size)
|
|||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8* Buffer::release_data()
|
||||||
|
{
|
||||||
|
u8* data = m_data;
|
||||||
|
m_data = nullptr;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
@ -140,7 +140,7 @@ Result<String> String::vformat(StringView fmt, va_list ap)
|
|||||||
|
|
||||||
TRY(buf.try_append(0));
|
TRY(buf.try_append(0));
|
||||||
|
|
||||||
return from_cstring(buf.data());
|
return String { buf.release_data() };
|
||||||
}
|
}
|
||||||
|
|
||||||
Result<String> String::from_cstring(const char* str)
|
Result<String> String::from_cstring(const char* str)
|
||||||
|
@ -61,5 +61,5 @@ Result<String> StringBuilder::string()
|
|||||||
char nul = '\0';
|
char nul = '\0';
|
||||||
TRY(m_data.append_data((u8*)&nul, 1));
|
TRY(m_data.append_data((u8*)&nul, 1));
|
||||||
|
|
||||||
return String::from_cstring((const char*)m_data.data());
|
return String { (char*)m_data.release_data() };
|
||||||
}
|
}
|
||||||
|
@ -143,7 +143,7 @@ namespace os
|
|||||||
|
|
||||||
TRY(data.try_append('\0'));
|
TRY(data.try_append('\0'));
|
||||||
|
|
||||||
return String::from_cstring(data.data());
|
return String { data.release_data() };
|
||||||
}
|
}
|
||||||
|
|
||||||
Result<String> File::read_all_as_string()
|
Result<String> File::read_all_as_string()
|
||||||
|
Loading…
Reference in New Issue
Block a user