forked from Telodendria/Telodendria
[ADD/WIP] Remove boundscheck on array sorts
Some checks are pending
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Waiting to run
Some checks are pending
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Waiting to run
This commit is contained in:
parent
ecb18dc7b2
commit
e1d632b135
3 changed files with 4 additions and 16 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit 5d87da31cda74e6808eebca72e9475aabde86532
|
Subproject commit 346b912a0633cceac10780b8a103f6c89b5ba89f
|
|
@ -118,10 +118,7 @@ CanonicalJsonEncode(HashMap * object, Stream * out)
|
||||||
ArrayAdd(keys, key);
|
ArrayAdd(keys, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ArraySize(keys) != 0)
|
|
||||||
{
|
|
||||||
ArraySort(keys, CanonicalJsonKeyCompare);
|
ArraySort(keys, CanonicalJsonKeyCompare);
|
||||||
}
|
|
||||||
|
|
||||||
/* The total number of bytes written */
|
/* The total number of bytes written */
|
||||||
length = 0;
|
length = 0;
|
||||||
|
|
|
@ -142,13 +142,7 @@ StateResolveV1(Room * room, Array * states)
|
||||||
Free(type);
|
Free(type);
|
||||||
Free(key);
|
Free(key);
|
||||||
}
|
}
|
||||||
if (ArraySize(events) != 0)
|
|
||||||
{
|
|
||||||
/* TODO: Cytoplasm currently doesn't behave correctly
|
|
||||||
* when the array size is 0, I'll need to file a bug
|
|
||||||
* report/PR eventually. */
|
|
||||||
ArraySort(events, V1Cmp);
|
ArraySort(events, V1Cmp);
|
||||||
}
|
|
||||||
/* Add first event. */
|
/* Add first event. */
|
||||||
first = ArrayDelete(events, 0);
|
first = ArrayDelete(events, 0);
|
||||||
StateSet(
|
StateSet(
|
||||||
|
@ -201,11 +195,8 @@ StateResolveV1(Room * room, Array * states)
|
||||||
ArrayFree(types);
|
ArrayFree(types);
|
||||||
|
|
||||||
while (StateIterate(conflicts, &type, &key, (void **) &conflicting))
|
while (StateIterate(conflicts, &type, &key, (void **) &conflicting))
|
||||||
{
|
|
||||||
if (ArraySize(conflicting) != 0)
|
|
||||||
{
|
{
|
||||||
ArraySort(conflicting, V1Cmp);
|
ArraySort(conflicting, V1Cmp);
|
||||||
}
|
|
||||||
for (j = ArraySize(conflicting) - 1; j >= 0; j--)
|
for (j = ArraySize(conflicting) - 1; j >= 0; j--)
|
||||||
{
|
{
|
||||||
HashMap *event = ArrayGet(events, j);
|
HashMap *event = ArrayGet(events, j);
|
||||||
|
|
Loading…
Reference in a new issue