]> 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 0514b15fbc3a2632a8a65679786224a3d22ad1a8..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
 .\"
@@ -113,9 +114,10 @@ Out of memory.
 .SH VERSIONS
 The
 .BR tee ()
-system call first appeared in Linux 2.6.17.
-.SH "CONFORMING TO"
-This system call is Linux specific.
+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 ()
@@ -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)