summaryrefslogtreecommitdiffhomepage
path: root/cvector.h
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2020-03-04 07:15:14 +0100
committerGitHub <[email protected]>2020-03-04 07:15:14 +0100
commit89bb51a98b2cf5c454e27f8f6dc905a73aae8b42 (patch)
treebb6343179be4b466e8f9bda2a3e9ff7457e6d1f7 /cvector.h
parent8bf27012efb6fffed9bbc478f0c2b39ca04891cc (diff)
downloadSTC-modified-89bb51a98b2cf5c454e27f8f6dc905a73aae8b42.tar.gz
STC-modified-89bb51a98b2cf5c454e27f8f6dc905a73aae8b42.zip
More small fixes.
Diffstat (limited to 'cvector.h')
-rw-r--r--cvector.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/cvector.h b/cvector.h
index b19ef791..a5f49f39 100644
--- a/cvector.h
+++ b/cvector.h
@@ -37,7 +37,8 @@ static inline cvector_size_t _cvector_safe_capacity(const void* data) {
#define declare_CVector_2(tag, T) declare_CVector_3(tag, T, cdef_destroy)
#define declare_CVector_STR(tag) declare_CVector_3(tag, CString, cstring_destroy)
-#define declare_CVector_3(tag, T, valueDestr) \
+
+#define declare_CVector_3(tag, T, valueDestroy) \
typedef T cvector_##tag##_value_t; \
typedef struct CVector(tag) { \
T* data; \
@@ -58,7 +59,7 @@ static inline void cvector_##tag##_swap(CVector(tag)* v1, CVector(tag)* v2) { \
static inline void cvector_##tag##_destroy(CVector(tag)* self) { \
T* p = self->data; \
cvector_size_t i = 0, n = cvector_size(*self); \
- for (; i < n; ++p, ++i) valueDestr(p); \
+ for (; i < n; ++p, ++i) valueDestroy(p); \
free(_cvector_alloced(self->data)); \
} \
\
@@ -111,10 +112,9 @@ static inline T cvector_##tag##_back(CVector(tag) cv) { \
} \
\
\
-static inline T cvector_##tag##_pop(CVector(tag)* self) { \
- T value = cvector_##tag##_back(*self); \
+static inline void cvector_##tag##_pop(CVector(tag)* self) { \
+ valueDestroy(&self->data[_cvector_size(*self) - 1]); \
--_cvector_size(*self); \
- return value; \
} \
\
\