From 329ecc7f94c0749392225f65e157dcfa50134a73 Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Fri, 29 Jul 2016 16:25:09 +0000 Subject: [PATCH] Mention that basename(3) and dirname(3) will change in the future. Update the existing manual pages for basename(3) and dirname(3) to mention that in future versions of FreeBSD, these functions will no longer use internal buffers for storing the results. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D7356 --- lib/libc/gen/basename.3 | 12 ++++++++++-- lib/libc/gen/dirname.3 | 11 ++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/libc/gen/basename.3 b/lib/libc/gen/basename.3 index 859f1047f84e..6de009448bda 100644 --- a/lib/libc/gen/basename.3 +++ b/lib/libc/gen/basename.3 @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 28, 2016 +.Dd July 29, 2016 .Dt BASENAME 3 .Os .Sh NAME @@ -61,8 +61,16 @@ function returns a pointer to internal storage space allocated on the first call that will be overwritten by subsequent calls. +.Pp +Other vendor implementations of +.Fn basename +may store their result in the input buffer, +making it safe to use in multithreaded applications. +Future versions of +.Fx +will follow this approach as well. .Fn basename_r -is therefore preferred for threaded applications. +will then become obsolete. .Sh RETURN VALUES On successful completion, .Fn basename diff --git a/lib/libc/gen/dirname.3 b/lib/libc/gen/dirname.3 index 19e45add0ad5..6685618a9869 100644 --- a/lib/libc/gen/dirname.3 +++ b/lib/libc/gen/dirname.3 @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 28, 2016 +.Dd July 29, 2016 .Dt DIRNAME 3 .Os .Sh NAME @@ -56,10 +56,11 @@ by subsequent calls. .Pp Other vendor implementations of .Fn dirname -may modify the contents of the string passed to -.Fn dirname ; -this should be taken into account when writing code which calls this function -if portability is desired. +may store their result in the input buffer, +making it safe to use in multithreaded applications. +Future versions of +.Fx +will follow this approach as well. .Sh RETURN VALUES On successful completion, .Fn dirname