summaryrefslogtreecommitdiff
path: root/libiberty/memset.c
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2009-05-06 05:08:22 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2009-05-06 05:08:22 +0000
commitf981ba17eb57c47b57563d24d3d5af3ce3546ed6 (patch)
tree7b86247fab4859580384d4292615569126e05a5b /libiberty/memset.c
parentdbba0970e3d2678fd1d3dacc9bb37d2e8cbb3ca4 (diff)
Notes
Diffstat (limited to 'libiberty/memset.c')
-rw-r--r--libiberty/memset.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/libiberty/memset.c b/libiberty/memset.c
new file mode 100644
index 000000000000..5119f858ad06
--- /dev/null
+++ b/libiberty/memset.c
@@ -0,0 +1,32 @@
+/* memset
+ This implementation is in the public domain. */
+
+/*
+
+@deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, size_t @var{count})
+
+Sets the first @var{count} bytes of @var{s} to the constant byte
+@var{c}, returning a pointer to @var{s}.
+
+@end deftypefn
+
+*/
+
+#include <ansidecl.h>
+#ifdef ANSI_PROTOTYPES
+#include <stddef.h>
+#else
+#define size_t unsigned long
+#endif
+
+PTR
+memset (dest, val, len)
+ PTR dest;
+ register int val;
+ register size_t len;
+{
+ register unsigned char *ptr = (unsigned char*)dest;
+ while (len-- > 0)
+ *ptr++ = val;
+ return dest;
+}