|
43 | 43 | #define ListInsertL(l, lval, idx) \ |
44 | 44 | do { \ |
45 | 45 | ValidateList(l); \ |
46 | | - LIST_DATA_TYPE(l) *__ptr__val_##__LINE__ = &(lval); \ |
47 | | - LIST_DATA_TYPE(l) __tmp__val_##__LINE__ = (lval); \ |
48 | | - insert_into_list(GENERIC_LIST(l), __tmp__val_##__LINE__, sizeof(LIST_DATA_TYPE(l)), (idx)); \ |
| 46 | + LIST_DATA_TYPE(l) * UNPL(_ptrval) = &(lval); \ |
| 47 | + LIST_DATA_TYPE(l) UNPL(_tmpval) = *UNPL(_ptrval); \ |
| 48 | + insert_into_list(GENERIC_LIST(l), UNPL(_ptrval), sizeof(LIST_DATA_TYPE(l)), (idx)); \ |
49 | 49 | if (!(l)->copy_init) { \ |
50 | | - memset(__ptr__val_##__LINE__, 0, sizeof(LIST_DATA_TYPE(l))); \ |
| 50 | + memset(UNPL(_ptrval), 0, sizeof(LIST_DATA_TYPE(l))); \ |
51 | 51 | } \ |
52 | 52 | } while (0) |
53 | 53 |
|
|
79 | 79 | #define ListInsertR(l, rval, idx) \ |
80 | 80 | do { \ |
81 | 81 | ValidateList(l); \ |
82 | | - LIST_DATA_TYPE(l) __tmp__val_##__LINE__ = (rval); \ |
83 | | - insert_range_into_vec(GENERIC_LIST(l), (char *)&__tmp__val_##__LINE__, sizeof(LIST_DATA_TYPE(l)), (idx), 1); \ |
| 82 | + LIST_DATA_TYPE(l) UNPL(_rval) = (rval); \ |
| 83 | + insert_into_list(GENERIC_LIST(l), (char *)&UNPL(_rval), sizeof(LIST_DATA_TYPE(l)), (idx)); \ |
84 | 84 | } while (0) |
85 | 85 |
|
86 | 86 | /// |
|
156 | 156 | /// SUCCESS: Return. |
157 | 157 | /// FAILURE: Does not return. |
158 | 158 | /// |
159 | | -#define ListPushFront(l, lval) ListPushFrontL((l), (lval), 0); |
| 159 | +#define ListPushFront(l, lval) ListPushFrontL((l), (lval)); |
160 | 160 |
|
161 | 161 | /// |
162 | 162 | /// Push a l-value at the back of list. |
|
169 | 169 | /// SUCCESS: Return |
170 | 170 | /// FAILURE: Does not return |
171 | 171 | /// |
172 | | -#define ListPushBack(l, lval) ListPushBackL((l), (lval), (l)->length) |
| 172 | +#define ListPushBack(l, lval) ListPushBackL((l), (lval)) |
173 | 173 |
|
174 | 174 | /// |
175 | 175 | /// Push a complete array into this list. |
|
187 | 187 | #define ListPushArrL(l, arr, count) \ |
188 | 188 | do { \ |
189 | 189 | ValidateList(l); \ |
190 | | - LIST_DATA_TYPE(l) *__ptr_val_##__LINE__ = (arr); \ |
191 | | - const LIST_DATA_TYPE(l) __tmp_val_##__LINE__ = *(arr); \ |
192 | | - (void)__tmp_val_##__LINE__; \ |
193 | | - push_arr_list(GENERIC_LIST(l), sizeof(LIST_DATA_TYPE(l)), __ptr_val_##__LINE__, (count)); \ |
| 190 | + LIST_DATA_TYPE(l) * UNPL(_ptrval) = (arr); \ |
| 191 | + const LIST_DATA_TYPE(l) UNPL(_tmpval) = *UNPL(_ptrval); \ |
| 192 | + (void)UNPL(_tmpval); \ |
| 193 | + push_arr_list(GENERIC_LIST(l), sizeof(LIST_DATA_TYPE(l)), UNPL(_ptrval), (count)); \ |
194 | 194 | if (!(l)->copy_init) { \ |
195 | | - memset(__ptr_val_##__LINE__, 0, sizeof(LIST_DATA_TYPE(l))); \ |
| 195 | + memset(UNPL(_ptrval), 0, sizeof(LIST_DATA_TYPE(l))); \ |
196 | 196 | } \ |
197 | 197 | } while (0) |
198 | 198 |
|
|
212 | 212 | ValidateList(l); \ |
213 | 213 | ValidateList(l2); \ |
214 | 214 | { \ |
215 | | - LIST_DATA_TYPE(l) __tmp1_##__LINE__ = {0}; \ |
216 | | - LIST_DATA_TYPE(l2) __tmp2_##__LINE__ = {0}; \ |
217 | | - __tmp1_##__LINE__ = __tmp2_##__LINE__; \ |
218 | | - (void)__tmp1_##__LINE__; \ |
219 | | - (void)__tmp2_##__LINE__; \ |
| 215 | + LIST_DATA_TYPE(l) UNPL(_tmp1) = {0}; \ |
| 216 | + LIST_DATA_TYPE(l2) UNPL(_tmp2) = {0}; \ |
| 217 | + UNPL(_tmp1) = UNPL(_tmp2); \ |
| 218 | + (void)UNPL(_tmp1); \ |
| 219 | + (void)UNPL(_tmp2); \ |
220 | 220 | } \ |
221 | 221 | merge_list(GENERIC_LIST(l), sizeof(LIST_DATA_TYPE(l)), GENERIC_LIST(l2)); \ |
222 | 222 | if (!(l)->copy_init) { \ |
|
243 | 243 | ValidateList(l); \ |
244 | 244 | ValidateList(l2); \ |
245 | 245 | { \ |
246 | | - LIST_DATA_TYPE(l) __tmp1_##__LINE__ = {0}; \ |
247 | | - LIST_DATA_TYPE(l2) __tmp2_##__LINE__ = {0}; \ |
248 | | - __tmp1_##__LINE__ = __tmp2_##__LINE__; \ |
249 | | - (void)__tmp1_##__LINE__; \ |
250 | | - (void)__tmp2_##__LINE__; \ |
| 246 | + LIST_DATA_TYPE(l) UNPL(_tmp1) = {0}; \ |
| 247 | + LIST_DATA_TYPE(l2) UNPL(_tmp2) = {0}; \ |
| 248 | + UNPL(_tmp1) = UNPL(_tmp2); \ |
| 249 | + (void)UNPL(_tmp1); \ |
| 250 | + (void)UNPL(_tmp2); \ |
251 | 251 | } \ |
252 | 252 | merge_list(GENERIC_LIST(l), sizeof(LIST_DATA_TYPE(l)), GENERIC_LIST(l2)); \ |
253 | 253 | } while (0) |
|
0 commit comments