The function nis_sperror_r(), returns a pointer to a string that can be used or copied using the strdup() function (See string(3C)).
The caller must supply a string buffer, buf, large enough to hold the error string (a buffer size of 128 bytes is guaranteed to be sufficiently large). status and label are the same as for nis_perror().
The pointer returned by nis_sperror_r() is the same as buf, that is, the pointer returned by the function is a pointer to buf. length specifies the number of characters to copy from the error string to
buf.

The last function, nis_sperror(), is similar to nis_sperror_r() except that the string is returned as a pointer to a buffer that is reused on each call. nis_sperror_r() is the preferred interface, since it is suitable for single-threaded and
multi-threaded programs.

When compiling multithreaded applications, see Intro(3), Notes On Multithread Applications, for information about the use of the _REENTRANT flag.

NIS+ might not be supported in future releases of the Solaris Operating Environment. Tools to aid the migration from NIS+ to LDAP are available in the Solaris 9 operating environment. For more information, visit http://www.sun.com/directory/nisplus/transition.html.