This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] stpcpy comes from Turbo C [BZ #3629]
- From: "Gabriel F. T. Gomes" <gftg at linux dot vnet dot ibm dot com>
- To: fweimer at redhat dot com (Florian Weimer)
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 10 May 2016 09:01:28 -0300
- Subject: Re: [PATCH] stpcpy comes from Turbo C [BZ #3629]
- Authentication-results: sourceware.org; auth=none
- References: <20160510075014 dot A743C41C38CF4 at oldenburg dot str dot redhat dot com>
On Tue, 10 May 2016 09:50:14 +0200
fweimer@redhat.com (Florian Weimer) wrote:
> The earlierst reference I could find is in a German book on Borland's
> Turbo C programming environment (Ekkehard Kaier, Edwin Rudolfs,
> ÂTurbo C GrundkursÂ, first published in 1988). It is not generally
> available on current Microsoft platforms, and there are online
> references that claim that it was not part of earlier Microsoft C
> environments. This suggests that the previous speculative attribution
> to MS-DOS (sic) was incorrect.
>
> 2016-05-10 Florian Weimer <fweimer@redhat.com>
>
> [BZ #3629]
> * manual/string.texi (Copying Strings and Arrays): Document
> provenience of the stpcpy function.
>
> diff --git a/manual/string.texi b/manual/string.texi
> index 016fd0b..f22d2ac 100644
> --- a/manual/string.texi
> +++ b/manual/string.texi
> @@ -612,9 +612,8 @@ and @samp{bar} to produce @samp{foobar}, which it then prints.
> @include stpcpy.c.texi
> @end smallexample
>
> -This function is not part of the ISO or POSIX standards, and is not
> -customary on Unix systems, but we did not invent it either. Perhaps it
> -comes from MS-DOG.
> +This function is a Turbo C extension. It is not part of the ISO or
> +POSIX standards.
According to the manpage for stpcpy, it has been added to POSIX.1-2008.
It shows up in section 13 (Headers) under 'string.h':
http://pubs.opengroup.org/onlinepubs/9699919799/nframe.html
Perhaps a small change your last sentence?
Other than that, lgtm.
>
> Its behavior is undefined if the strings overlap. The function is
> declared in @file{string.h}.
>