2023-02-12 18:36:44 +01:00
|
|
|
#ifndef CUTILS_STR_H_
|
|
|
|
#define CUTILS_STR_H_
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
char *str;
|
|
|
|
size_t len;
|
|
|
|
size_t cap;
|
|
|
|
} str_t;
|
|
|
|
|
2023-02-14 13:03:11 +01:00
|
|
|
int str_new (str_t *str);
|
|
|
|
int str_new_cap (str_t *str, size_t want_cap);
|
2023-02-14 12:15:05 +01:00
|
|
|
int str_new_from (str_t *str, const char *src);
|
|
|
|
int str_new_from_len (str_t *str, const char *src, size_t len);
|
2023-02-12 18:36:44 +01:00
|
|
|
void str_free (str_t *str);
|
2023-02-14 13:03:11 +01:00
|
|
|
int str_append (str_t *str, const char *src);
|
|
|
|
int str_append_len (str_t *str, const char *src, size_t len);
|
2023-02-12 18:36:44 +01:00
|
|
|
|
|
|
|
#endif // CUTILS_STR_H_
|