2021-09-22 13:54:29 +00:00
|
|
|
#ifndef _LISP_STRING_H
|
|
|
|
#define _LISP_STRING_H
|
|
|
|
|
|
|
|
#include <string.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include "dbg_malloc.h"
|
|
|
|
#include "lisp_types.h"
|
|
|
|
|
|
|
|
__attribute__((always_inline)) static inline int lisp_string_len(lisp_string* lstr) {
|
|
|
|
return *((int*) lstr);
|
|
|
|
}
|
|
|
|
__attribute__((always_inline)) static inline char* lisp_string_data(lisp_string* lstr) {
|
|
|
|
return lstr + sizeof(int);
|
|
|
|
}
|
|
|
|
char* lisp_string_create(char* str);
|
|
|
|
char* lisp_string_create_raw(char* buf, int len);
|
|
|
|
char* lisp_string_alloc(int len);
|
2022-02-04 15:54:34 +00:00
|
|
|
lisp_string* lisp_string_copy(lisp_string* lstr);
|
2021-09-22 13:54:29 +00:00
|
|
|
int lisp_string_cmp(lisp_string* a_lstr, lisp_string* b_lstr);
|
|
|
|
void lisp_string_print(lisp_string* lstr);
|
|
|
|
|
|
|
|
#endif
|