Index: lib/libc/string/swab.3 =================================================================== --- lib/libc/string/swab.3 (revision 211522) +++ lib/libc/string/swab.3 (working copy) @@ -39,7 +39,7 @@ .Sh SYNOPSIS .In unistd.h .Ft void -.Fn swab "const void * restrict src" "void * restrict dst" "ssize_t len" +.Fn swab "const void * restrict src" "void * restrict dst" "size_t len" .Sh DESCRIPTION The function .Fn swab @@ -53,7 +53,8 @@ .Pp The argument .Fa len -must be an even number. +must be an even number. For POSIX compatibility, if it's less than zero, +nothing will be done. .Sh SEE ALSO .Xr bzero 3 , .Xr memset 3 Index: lib/libc/string/swab.c =================================================================== --- lib/libc/string/swab.c (revision 211522) +++ lib/libc/string/swab.c (working copy) @@ -45,6 +45,8 @@ int n; char *fp, *tp; + if (len <= 0) + return; n = len >> 1; fp = (char *)from; tp = (char *)to;