summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/string.h15
-rw-r--r--include/unistd.h7
-rw-r--r--lib/libc/string/swab.34
-rw-r--r--lib/libc/string/swab.c4
4 files changed, 23 insertions, 7 deletions
diff --git a/include/string.h b/include/string.h
index 3844d41..efc8aec 100644
--- a/include/string.h
+++ b/include/string.h
@@ -108,8 +108,19 @@ char *strtok_r(char *, const char *, char **);
#endif
size_t strxfrm(char * __restrict, const char * __restrict, size_t);
#if __BSD_VISIBLE
-void swab(const void *, void *, size_t);
-#endif
+
+#ifndef _SWAB_DECLARED
+#define _SWAB_DECLARED
+
+#ifndef _SSIZE_T_DECLARED
+typedef __ssize_t ssize_t;
+#define _SSIZE_T_DECLARED
+#endif /* _SIZE_T_DECLARED */
+
+void swab(const void * __restrict, void * __restrict, ssize_t);
+#endif /* _SWAB_DECLARED */
+
+#endif /* __BSD_VISIBLE */
__END_DECLS
#endif /* _STRING_H_ */
diff --git a/include/unistd.h b/include/unistd.h
index 56551f8..fa73462 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -436,7 +436,12 @@ ssize_t pwrite(int, const void *, size_t, off_t);
int setpgrp(pid_t _pid, pid_t _pgrp); /* obsoleted by setpgid() */
int setregid(gid_t, gid_t);
int setreuid(uid_t, uid_t);
-/* void swab(const void * __restrict, void * __restrict, ssize_t); */
+
+#ifndef _SWAB_DECLARED
+#define _SWAB_DECLARED
+void swab(const void * __restrict, void * __restrict, ssize_t);
+#endif /* _SWAB_DECLARED */
+
void sync(void);
useconds_t ualarm(useconds_t, useconds_t);
int usleep(useconds_t);
diff --git a/lib/libc/string/swab.3 b/lib/libc/string/swab.3
index 4d27e17..93d879d 100644
--- a/lib/libc/string/swab.3
+++ b/lib/libc/string/swab.3
@@ -41,9 +41,9 @@
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
-.In string.h
+.In unistd.h
.Ft void
-.Fn swab "const void * restrict src" "void * restrict dst" "size_t len"
+.Fn swab "const void * restrict src" "void * restrict dst" "ssize_t len"
.Sh DESCRIPTION
The function
.Fn swab
diff --git a/lib/libc/string/swab.c b/lib/libc/string/swab.c
index aa6f268..8c0c43f 100644
--- a/lib/libc/string/swab.c
+++ b/lib/libc/string/swab.c
@@ -40,10 +40,10 @@ static char sccsid[] = "@(#)swab.c 8.1 (Berkeley) 6/4/93";
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <string.h>
+#include <unistd.h>
void
-swab(const void * __restrict from, void * __restrict to, size_t len)
+swab(const void * __restrict from, void * __restrict to, ssize_t len)
{
unsigned long temp;
int n;
OpenPOWER on IntegriCloud