Compare commits
No commits in common. "e16a0035a48dd019848540c768b2e5dd0d47d616" and "ebe6e58ef3b777a7e45f10b5552ca95bc96e8cc8" have entirely different histories.
e16a0035a4
...
ebe6e58ef3
@ -20,7 +20,6 @@ typedef int64_t i64;
|
|||||||
typedef uint64_t u64;
|
typedef uint64_t u64;
|
||||||
typedef float f32;
|
typedef float f32;
|
||||||
typedef double f64;
|
typedef double f64;
|
||||||
typedef void* ptr;
|
|
||||||
|
|
||||||
#if !__cplusplus
|
#if !__cplusplus
|
||||||
typedef u8 bool;
|
typedef u8 bool;
|
||||||
@ -34,7 +33,7 @@ typedef const char* cstr;
|
|||||||
|
|
||||||
#define nameof(V) #V
|
#define nameof(V) #V
|
||||||
|
|
||||||
#define ARRAY_LEN(A) (sizeof(A)/sizeof(A[0]))
|
#define ARRAY_SIZE(A) (sizeof(A)/sizeof(A[0]))
|
||||||
#define ALIGN_TO(_SIZE,_ALIGN) (((_SIZE) + ((_ALIGN) - 1)) & ~((_ALIGN) - 1))
|
#define ALIGN_TO(_SIZE,_ALIGN) (((_SIZE) + ((_ALIGN) - 1)) & ~((_ALIGN) - 1))
|
||||||
|
|
||||||
#if defined(_WIN64) || defined(_WIN32)
|
#if defined(_WIN64) || defined(_WIN32)
|
||||||
|
|||||||
@ -21,7 +21,7 @@ void StringBuilder_append_str(StringBuilder* b, str s);
|
|||||||
void StringBuilder_append_i64(StringBuilder* b, i64 a);
|
void StringBuilder_append_i64(StringBuilder* b, i64 a);
|
||||||
void StringBuilder_append_u64(StringBuilder* b, u64 a);
|
void StringBuilder_append_u64(StringBuilder* b, u64 a);
|
||||||
void StringBuilder_append_f64(StringBuilder* b, f64 a);
|
void StringBuilder_append_f64(StringBuilder* b, f64 a);
|
||||||
void StringBuilder_append_memory(StringBuilder* b, Array mem, bool uppercase);
|
void StringBuilder_append_memory(StringBuilder* b, Array mem);
|
||||||
|
|
||||||
// adds '\0' to the buffer and returns pointer to buffer content
|
// adds '\0' to the buffer and returns pointer to buffer content
|
||||||
str StringBuilder_getStr(StringBuilder* b);
|
str StringBuilder_getStr(StringBuilder* b);
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
#include "../std.h"
|
#include "../std.h"
|
||||||
#include "char.h"
|
#include "char.h"
|
||||||
#include "cstr.h"
|
#include "cstr.h"
|
||||||
#include "../collections/Array.h"
|
|
||||||
|
|
||||||
typedef struct str {
|
typedef struct str {
|
||||||
char* data;
|
char* data;
|
||||||
@ -12,7 +11,7 @@ typedef struct str {
|
|||||||
} str;
|
} str;
|
||||||
|
|
||||||
/// creates str from a string literal
|
/// creates str from a string literal
|
||||||
#define STR(LITERAL) str_construct(LITERAL, ARRAY_LEN(LITERAL) - 1, true)
|
#define STR(LITERAL) str_construct(LITERAL, ARRAY_SIZE(LITERAL) - 1, true)
|
||||||
|
|
||||||
#define str_construct(DATA, LEN, ZERO_TERMINATED) ((str){ .data = DATA, .size = LEN, .isZeroTerminated = ZERO_TERMINATED })
|
#define str_construct(DATA, LEN, ZERO_TERMINATED) ((str){ .data = DATA, .size = LEN, .isZeroTerminated = ZERO_TERMINATED })
|
||||||
|
|
||||||
@ -42,5 +41,3 @@ u32 str_hash32(str s);
|
|||||||
|
|
||||||
str str_toUpper(str src);
|
str str_toUpper(str src);
|
||||||
str str_toLower(str src);
|
str str_toLower(str src);
|
||||||
|
|
||||||
str hex_to_str(Array buf, bool uppercase);
|
|
||||||
@ -83,7 +83,7 @@ void* NULLABLE(HashMap_tryGetPtr)(HashMap* ptr, str key){
|
|||||||
|
|
||||||
static void __HashMap_expand(HashMap* ptr){
|
static void __HashMap_expand(HashMap* ptr){
|
||||||
u32 height_expanded_n = ptr->height_n + 1;
|
u32 height_expanded_n = ptr->height_n + 1;
|
||||||
assert(height_expanded_n < Array_len(&__HashMap_heights, u32) && "HashMap IS FULL! Fix your code.");
|
assert(height_expanded_n >= Array_len(&__HashMap_heights, u32) && "HashMap IS FULL! Fix your code.");
|
||||||
|
|
||||||
// alloc new HashMapBucket array
|
// alloc new HashMapBucket array
|
||||||
u32 height_expanded = ((u32*)__HashMap_heights.data)[height_expanded_n];
|
u32 height_expanded = ((u32*)__HashMap_heights.data)[height_expanded_n];
|
||||||
|
|||||||
@ -55,13 +55,13 @@ void StringBuilder_append_f64(StringBuilder* b, f64 n){
|
|||||||
StringBuilder_append_cstr(b, buf);
|
StringBuilder_append_cstr(b, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StringBuilder_append_memory(StringBuilder* b, Array mem, bool uppercase) {
|
void StringBuilder_append_memory(StringBuilder* b, Array mem) {
|
||||||
if(mem.data == NULL)
|
if(mem.data == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char buf[8];
|
char buf[8];
|
||||||
for (u32 i=0; i < mem.size; i++) {
|
for (u32 i=0; i < mem.size; i++) {
|
||||||
sprintf(buf, uppercase ? "%02X" : "%02x", ((u8*)mem.data)[i]);
|
sprintf(buf, "%02x", ((u8*)mem.data)[i]);
|
||||||
StringBuilder_append_str(b, str_construct(buf, 2, true));
|
StringBuilder_append_str(b, str_construct(buf, 2, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
#include "string/str.h"
|
#include "string/str.h"
|
||||||
#include "string/StringBuilder.h"
|
|
||||||
|
|
||||||
str str_copy(str src){
|
str str_copy(str src){
|
||||||
if(src.data == NULL || src.size == 0)
|
if(src.data == NULL || src.size == 0)
|
||||||
@ -124,9 +123,3 @@ str str_toLower(str src){
|
|||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
str hex_to_str(Array buf, bool uppercase){
|
|
||||||
StringBuilder sb = StringBuilder_alloc(buf.size * 2 + 1);
|
|
||||||
StringBuilder_append_memory(&sb, buf, uppercase);
|
|
||||||
return StringBuilder_getStr(&sb);
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user