On 05/20/10 22:51, Don Cragun wrote:
> Since it is defined in the Solaris 10 limits.h(3HEAD) man page, a
> "Conforming POSIX Application Using Extensions" is free to use
> LOGNAME_MAX as defined in <limits.h> as long as it documents that it
> uses this macro (and __EXTENSIONS__ as defined on the standards(5)
> man page).  You may wish that applications wouldn't do that, but
> according to the standards, using documented features of an
> implementation is not a bug; it just makes the program source less
> portable.

That only counts when in such an environment, though.  A reasonable
solution (borrowing from Bill's suggestion) would be to have LOGNAME_MAX
defined as 9 when in a conforming environment, and intentionally
undefined elsewhere.

That way, conforming applications will still do what they've always
done, and since Solaris has actually supported long user names for a
long time, the same risks apply to using them.  Non-conforming
applications will see a change, but one for the better: if they
mistakenly used LOGNAME_MAX, they'll need to recode in order to
recompile in the future.

-- 
James Carlson         42.703N 71.076W         <[email protected]>
_______________________________________________
opensolaris-arc mailing list
[email protected]

Reply via email to