Christopher Benson-Manica said:
Some people "learning" more than others
Yep.
So, in essence, this is saying that at some point the Standard may choose to
specify a standard strdup() function?
It may choose to specify *any* external identifier which
begins with 'str' and a lowercase letter.
strdup, strthis, strthat, struptrouble, etc.
Come to think of it, since strdup() is
widely used, why isn't it standard?
You'll have to ask the committee members about that.
Such questions about 'why' etc. should be asked at
comp.std.c. Here we only discuss the language as it
is, not as it 'should be'.
It isn't implementation-specific
Yes, by definition, any function not specified by the
standard is implementation-specific. The fact that
many implementations might behave the same way doesn't
matter. In the case of 'strdup()' it's also a constraint
violation.
(like,
say, htonl and such)...
Those functions are by definition implementation-specific
as well.
E.g. I could write a 'htonl()' function which draws
pictures of naked women and emails them to your
pastor, and that would be perfectly legal according
to the standard (but probably not according to the
human laws of many jurisdictions.

)
It doesn't matter if everyone else's 'htonl()' function
did something else.
-Mike