aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libsimple/array.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/libsimple/array.h b/libsimple/array.h
index b17966b..5530e24 100644
--- a/libsimple/array.h
+++ b/libsimple/array.h
@@ -111,13 +111,13 @@
#endif
-#define libsimple_arrayset(buf, item, n) libsimple_memsetelem(buf, item, (n) * sizeof *(buf))
+#define libsimple_arrayset(buf, item, n) libsimple_memsetelem(buf, item, sizeof *(buf), n)
#ifndef arrayset
# define arrayset(...) libsimple_arrayset(__VA_ARGS__)
#endif
-#define libsimple_arraypset(buf, item, n) libsimple_mempsetelem(buf, item, (n) * sizeof *(buf))
+#define libsimple_arraypset(buf, item, n) libsimple_mempsetelem(buf, item, sizeof *(buf), n)
#ifndef arraypset
# define arraypset(...) libsimple_arraypset(__VA_ARGS__)
#endif
@@ -163,3 +163,15 @@
#ifndef arrayreplace
# define arrayreplace(...) libsimple_arrayreplace(__VA_ARGS__)
#endif
+
+
+#define libsimple_arrayfill(buf, item) libsimple_memsetelem(buf, item, sizeof *(buf), sizeof (buf) / sizeof *(buf))
+#ifndef arrayfill
+# define arrayfill(...) libsimple_arrayfill(__VA_ARGS__)
+#endif
+
+
+#define libsimple_arraynull(buf) libsimple_memsetelem(buf, (void *)0, sizeof *(buf), sizeof (buf) / sizeof *(buf))
+#ifndef arraynull
+# define arraynull(...) libsimple_arraynull(__VA_ARGS__)
+#endif