[EMAIL PROTECTED] wrote:
>> Good point; you went a step beyond what I did there. That looks like
>> #if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
>> ...
>> for now.
>>
>
> Also see, strlcat/strlcpy:
>
> #if defined(__EXTENSIONS__) || \
> (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
> extern char *strsignal(int);
> extern int ffs(int);
> extern int strcasecmp(const char *, const char *);
> extern int strncasecmp(const char *, const char *, size_t);
> extern size_t strlcpy(char *, const char *, size_t);
> extern size_t strlcat(char *, const char *, size_t);
> #endif /* defined(__EXTENSIONS__)... */
>
> (note that we still support no-proto compilation so make sure
> it's added twice:
>
Uh, just to be pedantic, _why_ are we still carrying this baggage? Is
there an actual, genuine need to retain K&R compatibility going forward
forever? I'd have thought at some point Solaris could just say "K&R no
longer supported", and rip out the K&R headers, along with the busted
/usr/ucbinclude and (most especially!) /usr/ucb/cc.
Are there real customers who still insist on K&R? Are people still
wanting to compile their old SunOS 3 or 4 applications from source? I
know the compatibility guarantees are nice and all, but at some point,
it seems that it can be taken too far. (I'm not proposing breaking
binary compatibility, only source compatibility. If people want to
update their applications for Solaris, then they should really update
and quit screwing around trying to run them in "compatibility" mode.
Heck, I imagine that it would not be terribly hard to write a tool to
help developers identify -- and suggest alternatives -- code that has to
be changed for Solaris.)
Certainly it seems that every other OS on the planet that is still being
actively developed has dropped any pretense at supporting pre-ANSI
compilers.
I realize that this would probably be a nightmare at ARC, but I think
that eliminating pre-ANSI support could do huge wonders for improving
maintainability and readability of Solaris sources. And the old SunOS
/usr/ucb/cc is probably the cause of more pain and suffering amongst
ISVs (especially those that support source code distributions) than
nearly any other "feature" of Solaris.
-- Garrett
--
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134 Fax: 951 325-2191
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code