Skip to content

Commit baf91fc

Browse files
committed
fix cvector_resize for NULL vector
1 parent 982843b commit baf91fc

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

cvector.h

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -463,23 +463,21 @@ typedef struct cvector_metadata_t {
463463
* @param value - the value to initialize new elements with
464464
* @return void
465465
*/
466-
#define cvector_resize(vec, count, value) \
467-
do { \
468-
if (vec) { \
469-
size_t cv_resize_count__ = (size_t)(count); \
470-
size_t cv_resize_sz__ = cvector_vec_to_base(vec)->size; \
471-
if (cv_resize_count__ > cv_resize_sz__) { \
472-
cvector_reserve((vec), cv_resize_count__); \
473-
cvector_set_size((vec), cv_resize_count__); \
474-
do { \
475-
(vec)[cv_resize_sz__++] = (value); \
476-
} while (cv_resize_sz__ < cv_resize_count__); \
477-
} else { \
478-
while (cv_resize_count__ < cv_resize_sz__--) { \
479-
cvector_pop_back(vec); \
480-
} \
481-
} \
482-
} \
466+
#define cvector_resize(vec, count, value) \
467+
do { \
468+
size_t cv_resize_count__ = (size_t)(count); \
469+
size_t cv_resize_sz__ = cvector_size(vec); \
470+
if (cv_resize_count__ > cv_resize_sz__) { \
471+
cvector_reserve((vec), cv_resize_count__); \
472+
cvector_set_size((vec), cv_resize_count__); \
473+
do { \
474+
(vec)[cv_resize_sz__++] = (value); \
475+
} while (cv_resize_sz__ < cv_resize_count__); \
476+
} else { \
477+
while (cv_resize_count__ < cv_resize_sz__--) { \
478+
cvector_pop_back(vec); \
479+
} \
480+
} \
483481
} while (0)
484482

485483
#endif /* CVECTOR_H_ */

0 commit comments

Comments
 (0)