Hi tech@,
The diff below replaces "err(1, (char *)NULL);" with "err(1, NULL);" on
usage example of error functions in style(9) manpage. The casting seems to
be a leftover from the changes from revision 1.38 to 1.39.
Before 1.39 the text stated that "Use NULL instead of (type\ *)0 or (type\
*)NULL in (type\ *)0 or (type\ *)NULL in contexts where the compiler knows
the type, e.g., in assignments. Use (type\ *)NULL in other contexts, in
particular for all function args. (Casting is essential for variadic args
and is necessary for other args if the function prototype might not be in
scope.)".
>From revision 1.39 on the guidelines changed towards use casting only in
variadic parameters, as text says "Use NULL instead of (type\ *)0 or (type\
*)NULL in all cases except for arguments to variadic functions where the
compiler does not know the type.".
In this case, the argument type is known. Further, this changes conforms
with usage example in err(9) manpage.
Thanks
Index: style.9
===================================================================
RCS file: /cvs/src/share/man/man9/style.9,v
retrieving revision 1.53
diff -u -p -r1.53 style.9
--- style.9 11 Apr 2012 21:09:23 -0000 1.53
+++ style.9 1 Nov 2012 02:25:39 -0000
@@ -534,7 +534,7 @@ or
don't roll your own!
.Bd -literal -offset indent
if ((four = malloc(sizeof(struct foo))) == NULL)
- err(1, (char *)NULL);
+ err(1, NULL);
if ((six = (int *)overflow()) == NULL)
errx(1, "Number overflowed.");
return (eight);