Is this POSIX compliant?

Fred Zlotnick fred at mindcraft.com
Thu Jun 13 09:01:07 AEST 1991


Submitted-by: fred at mindcrf.uucp (Fred Zlotnick)

In article <1991Jun12.035046.16547 at uunet.uu.net> lewine at cheshirecat.webo.dg.com 
(Don Lewine) writes:
>In article <4369 at rwthinf.UUCP>, berg at physik.tu-muenchen.de
>(Stephen R. van den Berg) writes:
>|> Could someone knowledgable please tell me if the following include files,
>|> the mentioned identifiers and the include files they are 'allocated' to are
>|> all conform the POSIX standard?  
>
>To solve this problem at less than half the price of the IEEE 
>standard, and get much more information, see below. . .

	[ Many correct comments omitted... ]

>|> #include <stdlib.h>		/* getenv() memmove() malloc() realloc()
>|> 				   free() strtol() size_t */
>                   memmove() is in <string.h>  all others are 
>                   in <stdlib.h>

memmove() is not supported by POSIX.1.  Clause 8.1 of the POSIX.1 standard
lists 110 functions from the C standard and states that

	POSIX.1 with the C Language binding comprises these functions,
	the extensions to them described in this clause, and the rest
	of the requirements stipulated in [this standard].

The C standard specifies 22 functions in <string.h>.  Only 14 of them
are listed in POSIX.1, and memmove() is not one of these.  Thus a strictly
conforming POSIX.1 application should not use memmove().

I was going to avoid using this newsgroup for advertising, but since
Donald has already broken the ice, I might mention that you can also
find the contents of all POSIX.1 and ANSI C headers in Appendix D of
my book, "The POSIX.1 Standard: a Programmer's Guide", available for
$29.95 from

	Benjamin/Cummings Publishing Company
	390 Bridge Parkway
	Redwood City, 94065
	(800) 950-BOOK for information
	(800) 447-2226 for orders

or at better bookstores almost everywhere.  My opinion of my book is
as unhumble as Don's opinion of his.  (And I'm sure that he has written
a very fine book.)
-- 
Fred Zlotnick                       |	#include <std.disclaimer>
fred at mindcraft.com                  |	#include <brilliant.quote>
...!{decwrl,ames}!mindcrf!fred      |


Volume-Number: Volume 24, Number 8



More information about the Comp.std.unix mailing list