diff options
| author | Tyge Løvset <[email protected]> | 2021-10-13 23:22:19 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2021-10-13 23:22:19 +0200 |
| commit | 959eab1e1f590ba4e5b521f106ae48ff2e493421 (patch) | |
| tree | b62c792fbb379ecd06cd38270c8cc45ecca53afb /include/stc/cstack.h | |
| parent | e1465027f5b3eb96a2a186dc35fb93d73ff9548d (diff) | |
| download | STC-modified-959eab1e1f590ba4e5b521f106ae48ff2e493421.tar.gz STC-modified-959eab1e1f590ba4e5b521f106ae48ff2e493421.zip | |
Maintenance update. template.h now includes cstr.h when i_key_str or i_val_str is defined. Minor optimizations.
Diffstat (limited to 'include/stc/cstack.h')
| -rw-r--r-- | include/stc/cstack.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/stc/cstack.h b/include/stc/cstack.h index 00d99fa1..3283eaf0 100644 --- a/include/stc/cstack.h +++ b/include/stc/cstack.h @@ -53,8 +53,9 @@ STC_INLINE Self cx_memb(_with_size)(size_t size, i_val fill) { }
STC_INLINE void cx_memb(_clear)(Self* self) {
- size_t i = self->size; self->size = 0;
- while (i--) i_valdel(&self->data[i]);
+ cx_value_t *p = self->data + self->size;
+ while (p-- != self->data) i_valdel(p);
+ self->size = 0;
}
STC_INLINE void cx_memb(_del)(Self* self)
@@ -73,7 +74,7 @@ STC_INLINE cx_value_t* cx_memb(_top)(const Self* self) { return &self->data[self->size - 1]; }
STC_INLINE void cx_memb(_pop)(Self* self)
- { --self->size; i_valdel(&self->data[self->size]); }
+ { cx_value_t* p = &self->data[--self->size]; i_valdel(p); }
STC_INLINE void cx_memb(_reserve)(Self* self, size_t n) {
if (n >= self->size)
|
