summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2022-11-24 08:47:02 +0100
committerGravatar default2022-11-24 08:47:02 +0100
commitf2528c6c521cde213e9f7ac3e263b9736d27ef37 (patch)
treef1efdf95b1b933665ed212213abdc0cc9c5f3e56
parentRefuse to store objects that are already here. (diff)
downloadsnac2-f2528c6c521cde213e9f7ac3e263b9736d27ef37.tar.gz
snac2-f2528c6c521cde213e9f7ac3e263b9736d27ef37.tar.xz
snac2-f2528c6c521cde213e9f7ac3e263b9736d27ef37.zip
Backport from xs.
-rw-r--r--xs.h5
-rw-r--r--xs_glob.h2
-rw-r--r--xs_io.h2
-rw-r--r--xs_regex.h4
-rw-r--r--xs_version.h2
5 files changed, 9 insertions, 6 deletions
diff --git a/xs.h b/xs.h
index da853f5..9cae3dc 100644
--- a/xs.h
+++ b/xs.h
@@ -34,6 +34,9 @@ typedef char d_char;
34/* auto-destroyable strings */ 34/* auto-destroyable strings */
35#define xs __attribute__ ((__cleanup__ (_xs_destroy))) d_char 35#define xs __attribute__ ((__cleanup__ (_xs_destroy))) d_char
36 36
37/* not really all, just very much */
38#define XS_ALL 0xfffffff
39
37void *xs_free(void *ptr); 40void *xs_free(void *ptr);
38void *_xs_realloc(void *ptr, size_t size, const char *file, int line, const char *func); 41void *_xs_realloc(void *ptr, size_t size, const char *file, int line, const char *func);
39#define xs_realloc(ptr, size) _xs_realloc(ptr, size, __FILE__, __LINE__, __FUNCTION__) 42#define xs_realloc(ptr, size) _xs_realloc(ptr, size, __FILE__, __LINE__, __FUNCTION__)
@@ -74,7 +77,7 @@ d_char *xs_list_pop(d_char *list, char **data);
74int xs_list_in(char *list, const char *val); 77int xs_list_in(char *list, const char *val);
75d_char *xs_join(char *list, const char *sep); 78d_char *xs_join(char *list, const char *sep);
76d_char *xs_split_n(const char *str, const char *sep, int times); 79d_char *xs_split_n(const char *str, const char *sep, int times);
77#define xs_split(str, sep) xs_split_n(str, sep, 0xfffffff) 80#define xs_split(str, sep) xs_split_n(str, sep, XS_ALL)
78d_char *xs_dict_new(void); 81d_char *xs_dict_new(void);
79d_char *xs_dict_append_m(d_char *dict, const char *key, const char *mem, int dsz); 82d_char *xs_dict_append_m(d_char *dict, const char *key, const char *mem, int dsz);
80#define xs_dict_append(dict, key, data) xs_dict_append_m(dict, key, data, xs_size(data)) 83#define xs_dict_append(dict, key, data) xs_dict_append_m(dict, key, data, xs_size(data))
diff --git a/xs_glob.h b/xs_glob.h
index c5293dc..978c200 100644
--- a/xs_glob.h
+++ b/xs_glob.h
@@ -5,7 +5,7 @@
5#define _XS_GLOB_H 5#define _XS_GLOB_H
6 6
7d_char *xs_glob_n(const char *spec, int basename, int reverse, int max); 7d_char *xs_glob_n(const char *spec, int basename, int reverse, int max);
8#define xs_glob(spec, basename, reverse) xs_glob_n(spec, basename, reverse, 0xfffffff) 8#define xs_glob(spec, basename, reverse) xs_glob_n(spec, basename, reverse, XS_ALL)
9 9
10 10
11#ifdef XS_IMPLEMENTATION 11#ifdef XS_IMPLEMENTATION
diff --git a/xs_io.h b/xs_io.h
index 9649484..6112dcb 100644
--- a/xs_io.h
+++ b/xs_io.h
@@ -79,7 +79,7 @@ d_char *xs_read(FILE *f, int *sz)
79d_char *xs_readall(FILE *f) 79d_char *xs_readall(FILE *f)
80/* reads the rest of the file into a string */ 80/* reads the rest of the file into a string */
81{ 81{
82 int size = 0xfffffff; 82 int size = XS_ALL;
83 83
84 return xs_read(f, &size); 84 return xs_read(f, &size);
85} 85}
diff --git a/xs_regex.h b/xs_regex.h
index e0d1b7a..302bcf0 100644
--- a/xs_regex.h
+++ b/xs_regex.h
@@ -5,9 +5,9 @@
5#define _XS_REGEX_H 5#define _XS_REGEX_H
6 6
7d_char *xs_regex_split_n(const char *str, const char *rx, int count); 7d_char *xs_regex_split_n(const char *str, const char *rx, int count);
8#define xs_regex_split(str, rx) xs_regex_split_n(str, rx, 0xfffffff) 8#define xs_regex_split(str, rx) xs_regex_split_n(str, rx, XS_ALL)
9d_char *xs_regex_match_n(const char *str, const char *rx, int count); 9d_char *xs_regex_match_n(const char *str, const char *rx, int count);
10#define xs_regex_match(str, rx) xs_regex_match_n(str, rx, 0xfffffff) 10#define xs_regex_match(str, rx) xs_regex_match_n(str, rx, XS_ALL)
11 11
12#ifdef XS_IMPLEMENTATION 12#ifdef XS_IMPLEMENTATION
13 13
diff --git a/xs_version.h b/xs_version.h
index ac5d43f..b23be3e 100644
--- a/xs_version.h
+++ b/xs_version.h
@@ -1 +1 @@
/* a78beb97d364ff31cbaa504e275118afeaea7a59 */ /* 2c01845d968c01c84aa52ff00ed029d9277c2d9c */