[OpenAFS-devel] string.h or strings.h

Patrick J. LoPresti patl@curl.com
29 Jul 2001 16:33:51 -0400


Chas Williams <chas@cmf.nrl.navy.mil> writes:

> i would also be happy if string.h was the default instead of strings.h
>  string.h is usually considered to be more correct.  strings.h usually
> contains the older bsd routines bcmp, etc which are generally
> considered deprecated.

You are right; string.h is ISO C and therefore POSIX, whereas
strings.h is not guaranteed to provide anything in particular.

If you do include just string.h, you should rely only on things which
are guaranteed to be declared there:

  http://www.opengroup.org/onlinepubs/7908799/xsh/string.h.html

Restricting yourself to these and avoiding the old BSD-isms is
arguably a good idea.

Of course, this mess has come up for big cross-platform projects
before; see, for example:

  http://gcc.gnu.org/ml/gcc-patches/1998-08/msg00317.html

 - Pat