diff --git a/fmt/fmt_strm.3 b/fmt/fmt_strm.3 new file mode 100644 index 0000000..79d8f20 --- /dev/null +++ b/fmt/fmt_strm.3 @@ -0,0 +1,20 @@ +.TH fmt_strm 3 +.SH NAME +fmt_strm \- write multiple ASCII strings +.SH SYNTAX +.B #include + +size_t \fBfmt_strm\fP(char *\fIdest\fR,const char *\fIsource\fR, ...); +.SH DESCRIPTION +fmt_strm copies all leading nonzero bytes from \fIsource\fR and +following +function arguments to \fIdest\fR and returns the number of bytes it +copied. + +fmt_strm does not append \\0. + +If \fIdest\fR equals FMT_LEN (i.e. is zero), fmt_str returns the number +of bytes it would have written, i.e. the number of leading nonzero bytes +of \fIsource\fR and following function arguments. +.SH "SEE ALSO" +fmt_str(3), strcpy(3) diff --git a/io/io_passfd.c b/io/io_passfd.c index bfedf85..6e80b98 100644 --- a/io/io_passfd.c +++ b/io/io_passfd.c @@ -44,7 +44,9 @@ int io_passfd(int64 sock,int64 fd) { #define CMSG_SPACE(x) x+100 #endif char buf[CMSG_SPACE(sizeof(int))]; + memset(buf,0,sizeof(buf)); #endif + memset(&msg,0,sizeof(msg)); iov.iov_len=1; iov.iov_base="x"; msg.msg_iov=&iov; diff --git a/mmap/mmap_private.3 b/mmap/mmap_private.3 index 19b2efc..f2c440d 100644 --- a/mmap/mmap_private.3 +++ b/mmap/mmap_private.3 @@ -19,4 +19,4 @@ It can also be manually unmapped by calling \fBmunmap\fR from If the file could not be opened or mapped, (void*)0 is returned. .SH "SEE ALSO" -munmap(2) +mmap_unmap(3) diff --git a/mmap/mmap_read.3 b/mmap/mmap_read.3 index bcb5653..6dd9e8c 100644 --- a/mmap/mmap_read.3 +++ b/mmap/mmap_read.3 @@ -16,4 +16,4 @@ It can also be manually unmapped by calling \fBmunmap\fR from If the file could not be opened or mapped, (void*)0 is returned. .SH "SEE ALSO" -munmap(2) +mmap_unmap(3) diff --git a/mmap/mmap_shared.3 b/mmap/mmap_shared.3 index 87a480d..0a1ba90 100644 --- a/mmap/mmap_shared.3 +++ b/mmap/mmap_shared.3 @@ -23,4 +23,4 @@ To write changes to disk immediately, you can use msync from If the file could not be opened or mapped, (void*)0 is returned. .SH "SEE ALSO" -munmap(2), msync(2) +mmap_unmap(3), msync(2) diff --git a/mmap/mmap_unmap.3 b/mmap/mmap_unmap.3 new file mode 100644 index 0000000..29cd88d --- /dev/null +++ b/mmap/mmap_unmap.3 @@ -0,0 +1,12 @@ +.TH mmap_unmap 3 +.SH NAME +mmap_unmap \- unmap an existing memory mapping +.SH SYNTAX +.B #include + +int \fBmmap_unmap\fP(char* \fImapped\fR,size_t \fImaplen\fR); +.SH DESCRIPTION +mmap_unmap removes a memory mapping established by mmap_read, +mmap_private or mmap_shared. +.SH "SEE ALSO" +munmap(2), mmap_read(3), mmap_private(3), mmap_shared(3) diff --git a/unix/winsock2errno.c b/unix/winsock2errno.c index 3444fc7..c0cf71f 100644 --- a/unix/winsock2errno.c +++ b/unix/winsock2errno.c @@ -30,6 +30,8 @@ int winsock2errno(long l) { errno=ENAMETOOLONG; break; case WSAENOTEMPTY: errno=ENOTEMPTY; break; + case WSAEPROTONOSUPPORT: + errno=EPROTONOSUPPORT; break; default: errno=x; break;