mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 21:38:40 +00:00
delete string compars form linker layer
This commit is contained in:
committed by
Ryan Fleury
parent
c2a0a6f1e1
commit
3875b057d7
@@ -1,66 +1,6 @@
|
|||||||
// Copyright (c) 2024 Epic Games Tools
|
// Copyright (c) 2024 Epic Games Tools
|
||||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||||
|
|
||||||
internal int
|
|
||||||
str8_compar(String8 a, String8 b, B32 ignore_case)
|
|
||||||
{
|
|
||||||
int cmp = 0;
|
|
||||||
U64 size = Min(a.size, b.size);
|
|
||||||
if (ignore_case) {
|
|
||||||
for (U64 i = 0; i < size; ++i) {
|
|
||||||
U8 la = char_to_lower(a.str[i]);
|
|
||||||
U8 lb = char_to_lower(b.str[i]);
|
|
||||||
if (la < lb) {
|
|
||||||
cmp = -1;
|
|
||||||
break;
|
|
||||||
} else if (la > lb) {
|
|
||||||
cmp = +1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (U64 i = 0; i < size; ++i) {
|
|
||||||
if (a.str[i] < b.str[i]) {
|
|
||||||
cmp = -1;
|
|
||||||
break;
|
|
||||||
} else if (a.str[i] > b.str[i]) {
|
|
||||||
cmp = +1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cmp == 0) {
|
|
||||||
// shorter prefix must precede longer prefixes
|
|
||||||
if (a.size > b.size) {
|
|
||||||
cmp = +1;
|
|
||||||
} else if (b.size > a.size) {
|
|
||||||
cmp = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal int
|
|
||||||
str8_compar_ignore_case(const void *a, const void *b)
|
|
||||||
{
|
|
||||||
return str8_compar(*(String8*)a, *(String8*)b, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal int
|
|
||||||
str8_compar_case_sensitive(const void *a, const void *b)
|
|
||||||
{
|
|
||||||
return str8_compar(*(String8*)a, *(String8*)b, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal int
|
|
||||||
str8_is_before_case_sensitive(const void *a, const void *b)
|
|
||||||
{
|
|
||||||
int cmp = str8_compar_case_sensitive(a, b);
|
|
||||||
return cmp < 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal String8Node *
|
internal String8Node *
|
||||||
str8_list_push_raw(Arena *arena, String8List *list, void *data_ptr, U64 data_size)
|
str8_list_push_raw(Arena *arena, String8List *list, void *data_ptr, U64 data_size)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,10 +3,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
internal int str8_compar(String8 a, String8 b, B32 ignore_case);
|
|
||||||
internal int str8_compar_ignore_case(const void *a, const void *b);
|
|
||||||
internal int str8_compar_case_sensitive(const void *a, const void *b);
|
|
||||||
|
|
||||||
#define str8_list_push_struct(a,l,d) str8_list_push_raw(a, l, d, sizeof(*d))
|
#define str8_list_push_struct(a,l,d) str8_list_push_raw(a, l, d, sizeof(*d))
|
||||||
internal String8Node * str8_list_push_raw(Arena *arena, String8List *list, void *data_ptr, U64 data_size);
|
internal String8Node * str8_list_push_raw(Arena *arena, String8List *list, void *data_ptr, U64 data_size);
|
||||||
internal U64 str8_list_push_pad(Arena *arena, String8List *list, U64 offset, U64 align);
|
internal U64 str8_list_push_pad(Arena *arena, String8List *list, U64 offset, U64 align);
|
||||||
|
|||||||
Reference in New Issue
Block a user