mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 06:53:33 +00:00
Minor small-string errata from #1199
These commits were sitting on a local branch that I neglected to push before merging. :( * Use memcpy for string::reserve * Remove fence comments
This commit is contained in:
parent
8b3e368e9a
commit
03b476f943
1 changed files with 1 additions and 3 deletions
|
@ -99,7 +99,7 @@ string::reserve(size_t c2) noexcept
|
||||||
if (!isbig()) {
|
if (!isbig()) {
|
||||||
if (!(p2 = (char*)malloc(c2)))
|
if (!(p2 = (char*)malloc(c2)))
|
||||||
__builtin_trap();
|
__builtin_trap();
|
||||||
__builtin_memcpy(p2, data(), size() + 1);
|
memcpy(p2, data(), size() + 1);
|
||||||
} else {
|
} else {
|
||||||
if (!(p2 = (char*)realloc(big()->p, c2)))
|
if (!(p2 = (char*)realloc(big()->p, c2)))
|
||||||
__builtin_trap();
|
__builtin_trap();
|
||||||
|
@ -139,7 +139,6 @@ string::append(char ch) noexcept
|
||||||
__builtin_trap();
|
__builtin_trap();
|
||||||
reserve(c2);
|
reserve(c2);
|
||||||
}
|
}
|
||||||
// XXX do we care to fence this?
|
|
||||||
data()[size()] = ch;
|
data()[size()] = ch;
|
||||||
data()[size() + 1] = 0;
|
data()[size() + 1] = 0;
|
||||||
if (isbig()) {
|
if (isbig()) {
|
||||||
|
@ -174,7 +173,6 @@ string::append(char ch, size_t size) noexcept
|
||||||
grow(size);
|
grow(size);
|
||||||
if (size)
|
if (size)
|
||||||
memset(data() + this->size(), ch, size);
|
memset(data() + this->size(), ch, size);
|
||||||
// XXX fence?
|
|
||||||
if (isbig()) {
|
if (isbig()) {
|
||||||
big()->n += size;
|
big()->n += size;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue