Liste des Groupes | Revenir à cl c |
Kaz Kylheku <433-929-6894@kylheku.com> writes:The hidden use of malloc was one of the reasons it was left out of the standard library.On 2024-03-10, Michael S <already5chosen@yahoo.com> wrote:It's a form of lazy programming. I've seen a lot of open sourceOn Sat, 09 Mar 2024 16:37:19 -0800>
Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:strdup() and strndup() are being added to the C23 standard.>
>
What is justification?
strdup is required by POSIX already and thus widely implemented.
Many programmers who are not into standards already assume it's in C.
>
For decades, portable programs have been doing things like this:
>
#if HAVE_STRDUP
#define xstrdup(s) strdup(s)
#else
char *xstrdup(const char *); // own definition
#endif
>What strdup() can do better, for any chosen value of better, than>
strlen()+malloc()+memcpy() ?
Not take up space in every application for a common library routine.
code that uses strdup without checking for failure and frequently
"forgetting" to free the result.
Les messages affichés proviennent d'usenet.