aboutsummaryrefslogtreecommitdiffstats
path: root/man3
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-11-16 20:45:56 +0100
committerMattias Andrée <maandree@kth.se>2018-11-16 20:45:56 +0100
commiteb3ac9af10990de4dfda5495831ca8e34a44a958 (patch)
tree58c82478e483aa56e1888126ea3add35581914f5 /man3
parentmemisutf8: string can be NULL (if n is 0) (diff)
downloadlibsimple-eb3ac9af10990de4dfda5495831ca8e34a44a958.tar.gz
libsimple-eb3ac9af10990de4dfda5495831ca8e34a44a958.tar.bz2
libsimple-eb3ac9af10990de4dfda5495831ca8e34a44a958.tar.xz
Add mempmove
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'man3')
-rw-r--r--man3/libsimple_mempcpy.313
-rw-r--r--man3/libsimple_mempmove.372
-rw-r--r--man3/libsimple_mempset.31
l---------man3/mempmove.3libsimple1
4 files changed, 85 insertions, 2 deletions
diff --git a/man3/libsimple_mempcpy.3 b/man3/libsimple_mempcpy.3
index bf9e6bc..c23a041 100644
--- a/man3/libsimple_mempcpy.3
+++ b/man3/libsimple_mempcpy.3
@@ -1,11 +1,11 @@
-.TH LIBSIMPLE_MEMPCPY 3 2018-10-23 libsimple
+.TH LIBSIMPLE_MEMPCPY 3 2018-11-16 libsimple
.SH NAME
libsimple_mempcpy \- copy an array of bytes into another
.SH SYNOPSIS
.nf
#include <libsimple.h>
-static inline void *libsimple_mempcpy(void *\fIdest\fP, const void *\fIsrc\fP, size_t \fIn\fP);
+static inline void *libsimple_mempcpy(void *restrict \fIdest\fP, const void *restrict \fIsrc\fP, size_t \fIn\fP);
#ifndef mempcpy
# define mempcpy libsimple_mempcpy
@@ -23,6 +23,14 @@ bytes of
.I src
into
.IR dest .
+The first
+.I n
+bytes of
+.I dest
+must not overlap with the first
+.I n
+bytes of
+.IR src .
.SH RETURN VALUE
The
.BR libsimple_mempcpy ()
@@ -66,6 +74,7 @@ None.
.SH BUGS
None.
.SH SEE ALSO
+.BR libsimple_mempmove (3),
.BR libsimple_mempset (3),
.BR memcpy (3),
.BR stpncpy (3),
diff --git a/man3/libsimple_mempmove.3 b/man3/libsimple_mempmove.3
new file mode 100644
index 0000000..d68c6dc
--- /dev/null
+++ b/man3/libsimple_mempmove.3
@@ -0,0 +1,72 @@
+.TH LIBSIMPLE_MEMPMOVE 3 2018-10-23 libsimple
+.SH NAME
+libsimple_mempmove \- move bytes within an array of bytes
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline void *libsimple_mempmove(void *\fIdest\fP, const void *\fIsrc\fP, size_t \fIn\fP);
+
+#ifndef mempmove
+# define mempmove libsimple_mempmove
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_mempmove ()
+function copies the first
+.I n
+bytes of
+.I src
+into
+.IR dest .
+The arrays may overlap.
+.SH RETURN VALUE
+The
+.BR libsimple_mempmove ()
+function returns the pointer
+.I dest
+with the offset
+.I n
+(the byte where the copy stopped).
+.SH ERRORS
+The
+.BR libsimple_mempmove ()
+function cannot fail.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface Attribute Value
+T{
+.BR libsimple_mempmove ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_mempmove ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_mempmove ()
+T} Async-cancel safety AC-Safe
+.TE
+.SH EXAMPLES
+None.
+.SH APPLICATION USAGE
+None.
+.SH RATIONALE
+None.
+.SH FUTURE DIRECTIONS
+None.
+.SH NOTES
+None.
+.SH BUGS
+None.
+.SH SEE ALSO
+.BR libsimple_mempcpy (3),
+.BR libsimple_mempset (3),
+.BR memmove (3)
diff --git a/man3/libsimple_mempset.3 b/man3/libsimple_mempset.3
index c88257b..e6ce289 100644
--- a/man3/libsimple_mempset.3
+++ b/man3/libsimple_mempset.3
@@ -70,4 +70,5 @@ None.
.SH SEE ALSO
.BR libsimple_mempsetelem (3),
.BR libsimple_mempcpy (3),
+.BR libsimple_mempmove (3),
.BR memset (3)
diff --git a/man3/mempmove.3libsimple b/man3/mempmove.3libsimple
new file mode 120000
index 0000000..2f8fd2c
--- /dev/null
+++ b/man3/mempmove.3libsimple
@@ -0,0 +1 @@
+libsimple_mempmove.3 \ No newline at end of file