Quote:>SVR4 is UNIX. It is trivially easy to get bzero() and bcopy() functionality
>in Solaris 2.(x<5): get the Solaris Porting FAQ. It will also warn you of
>all sorts of other problems you might have if you insist on using archaic
>BSD 4.(x<3) interfaces and functions.
No, it will warn you that Sun fatally *ed up libucb, whether due to malice
or incompetance who can say. The thing was, the only people pushing for
Solaris 2.x were too ignorant to be responsible, so basic functionality was
broken, and nobody in a position to fix it gave a damn.
Quote:>What Sun really did with the readdition of bcopy and friends is make it
>likely that many programs that have been properly ported to a POSIX or SVR4
>interface will now be compiled with the earlier BSD interfaces, which will
>frequently be a loss.
I don't understand what you mean here. What _I_ see that they did is allow
people to port well-written C to Solaris 2 without having to constantly add
defines or whatever to make bcopy() and friends available. Problem was of
course, the so-called "standard" routines include memcpy() --- which isn't
defined to handle overlapping copies correctly --- and memmove(), which is,
but which was not available under SunOS 4.x. So folks wanting to write code
portable between the two either had to ifdef between Unix and Solaris "Ingrown
NIH", or else just write with working interfaces, then make compatibility
versions of them for deficient OSes. Happily, this is no longer necessary.
In a similar vein, hostname(1) has appeared in /usr/bin, from which it should
have never been removed. Sure, if you're writing scripts that don't need to
run on other platforms you can use uname(1), but hostname(1) should work
correctly and portably --- whereas uname(1) truncated the hostname under SunOS
Basically, for the longest kind of time the Solaris proponents were spewing a
party line that went something like "Who cares how *ed up it is; you have
to use it" --- and customers (at least half-clueful ones) said "Like hell we
do". Somewhere between 2.4 and 2.5 Sun seems to have changed their stance on
this one, and decided instead to go with "Ok, if it's really stupidly broke
we'll fix it". Rumour has it that this came about when the engineers were
actually forced to run the damned thing.