projects
/
apps
/
pfixtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into with-dns-bl
[apps/pfixtools.git]
/
common
/
array.h
diff --git
a/common/array.h
b/common/array.h
index
86cf360
..
cd0090a
100644
(file)
--- a/
common/array.h
+++ b/
common/array.h
@@
-111,9
+111,9
@@
array_ensure_capacity_delta(array, 1); \
(array).data[(array).len++] = (obj); \
} while (0)
array_ensure_capacity_delta(array, 1); \
(array).data[(array).len++] = (obj); \
} while (0)
-#define array_append(array, objs,
l
en) \
+#define array_append(array, objs,
L
en) \
do { \
do { \
- const typeof((array).len) __len = (
l
en); \
+ const typeof((array).len) __len = (
L
en); \
array_ensure_capacity_delta(array, __len); \
memcpy((array).data + (array).len, objs, \
__len * sizeof(*(array).data)); \
array_ensure_capacity_delta(array, __len); \
memcpy((array).data + (array).len, objs, \
__len * sizeof(*(array).data)); \
@@
-143,8
+143,8
@@
array_ensure_can_edit(array); \
p_shrink(&(array).data, (array).len, &(array).size); \
} while (0)
array_ensure_can_edit(array); \
p_shrink(&(array).data, (array).len, &(array).size); \
} while (0)
-#define array_elt(array, n) (
array).data[(n)]
-#define array_ptr(array, n) (
array).data + (n
)
+#define array_elt(array, n) (
(array).data[(n)])
+#define array_ptr(array, n) (
(array).data + (n)
)
#define foreach(var, array) \
for (uint32_t __Ai = 0 ; __Ai < (array).len ; ++__Ai) { \
#define foreach(var, array) \
for (uint32_t __Ai = 0 ; __Ai < (array).len ; ++__Ai) { \
@@
-160,13
+160,18
@@
array_wipe(array); \
} while (0)
array_wipe(array); \
} while (0)
+#define array_len(array) (array).len
+#define array_size(array) (array).size
+#define array_elt_len(array) sizeof(*(array).data)
+#define array_byte_len(array) ((array).len * array_elt_len(array))
+
#define array_lock(array) \
#define array_lock(array) \
- ((array).locked
||
\
-
(mlock((array).data, (array).len * sizeof(*(array).data)) == 0
\
+ ((array).locked
\
+
|| (mlock((array).data, array_byte_len(array)) == 0
\
&& ((array).locked = true)))
#define array_unlock(array) \
if ((array).locked) { \
&& ((array).locked = true)))
#define array_unlock(array) \
if ((array).locked) { \
- (void)munlock((array).data,
(array).len * sizeof(*(array).data));
\
+ (void)munlock((array).data,
array_byte_len(array));
\
(array).locked = false; \
}
(array).locked = false; \
}