]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/tee.2
intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir...
[thirdparty/man-pages.git] / man2 / tee.2
index ede273d6516deab3192254aa4ab8b6e327a34640..7ede3211e58ca3319296945bc8fe4a1db8f473ea 100644 (file)
@@ -1,8 +1,7 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
 .\" This manpage is Copyright (C) 2006 Jens Axboe
 .\" and Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
-.TH TEE 2 2006-04-28 "Linux" "Linux Programmer's Manual"
+.TH TEE 2 2012-05-04 "Linux" "Linux Programmer's Manual"
 .SH NAME
 tee \- duplicating pipe content
 .SH SYNOPSIS
 .nf
-.B #define _GNU_SOURCE
+.BR "#define _GNU_SOURCE" "         /* See feature_test_macros(7) */"
 .B #include <fcntl.h>
 
-.BI "long tee(int " fd_in ", int " fd_out ", size_t " len \
+.BI "ssize_t tee(int " fd_in ", int " fd_out ", size_t " len \
 ", unsigned int " flags );
 .fi
+.\" Return type was long before glibc 2.7
 .SH DESCRIPTION
 .\" Example programs http://brick.kernel.dk/snaps
 .\"
@@ -112,10 +113,11 @@ refer to the same pipe.
 Out of memory.
 .SH VERSIONS
 The
-.BR tee (2)
-system call first appeared in Linux 2.6.17.
-.SH "CONFORMING TO"
-This system call is Linux specific.
+.BR tee ()
+system call first appeared in Linux 2.6.17;
+library support was added to glibc in version 2.5.
+.SH CONFORMING TO
+This system call is Linux-specific.
 .SH NOTES
 Conceptually,
 .BR tee ()
@@ -129,7 +131,7 @@ a reference to the input.
 The following example implements a basic
 .BR tee (1)
 program using the
-.BR tee (2)
+.BR tee ()
 system call.
 .nf
 
@@ -138,7 +140,6 @@ system call.
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include <assert.h>
 #include <errno.h>
 #include <limits.h>
 
@@ -148,7 +149,10 @@ main(int argc, char *argv[])
     int fd;
     int len, slen;
 
-    assert(argc == 2);
+    if (argc != 2) {
+        fprintf(stderr, "Usage: %s <file>\\n", argv[0]);
+        exit(EXIT_FAILURE);
+    }
 
     fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);
     if (fd == \-1) {
@@ -192,5 +196,4 @@ main(int argc, char *argv[])
 .fi
 .SH SEE ALSO
 .BR splice (2),
-.BR vmsplice (2),
-.BR feature_test_macros (7)
+.BR vmsplice (2)