Changed SB implementation to no longer use macros

This commit is contained in:
cannoli-fruit 2026-07-19 19:38:56 -04:00
commit 3bb74ddb94

15
lazy.h
View file

@ -20,6 +20,15 @@ typedef struct {
} Lz_Slc; } Lz_Slc;
#endif #endif
#ifndef LZ_SB_DEF
#define LZ_SB_DEF
typedef struct {
char *data;
size_t cnt;
size_t cap;
} Lz_SB;
#endif
void lz_slc_trim_left_typ(Lz_Slc *src, int (*classfunc)(int)); void lz_slc_trim_left_typ(Lz_Slc *src, int (*classfunc)(int));
void lz_slc_trim_right_typ(Lz_Slc *src, int (*classfunc)(int)); void lz_slc_trim_right_typ(Lz_Slc *src, int (*classfunc)(int));
void lz_slc_trim_typ(Lz_Slc *src, int (*classfunc)(int)); void lz_slc_trim_typ(Lz_Slc *src, int (*classfunc)(int));
@ -143,10 +152,6 @@ long long lz_slc_atoll(Lz_Slc *src);
} while(0) } while(0)
#endif #endif
#ifndef LZ_SB_DEFINITION
#define LZ_SB_DEFINITION
typedef Lz_DA(char) Lz_SB;
#endif
double lz_sb_atof(Lz_SB *src); double lz_sb_atof(Lz_SB *src);
int lz_sb_atoi(Lz_SB *src); int lz_sb_atoi(Lz_SB *src);
@ -417,7 +422,7 @@ Lz_SB lz_sb_from_cstr(const char *dat) {
void lz_sb_add_char(Lz_SB *sb, char c) { void lz_sb_add_char(Lz_SB *sb, char c) {
if (sb->cap > sb->cnt) { if (sb->cap > sb->cnt) {
sb->data[sb->cnt++] = c; sb->data[sb->cnt++] = c;
} else if(sb.cap == 0) { } else if(sb->cap == 0) {
sb->data = malloc(256*sizeof(*sb->data)); sb->data = malloc(256*sizeof(*sb->data));
sb->cap = 256; sb->cap = 256;
sb->cnt = 0; sb->cnt = 0;