svn commit: r296933 - in head: share/man/man9 sys/sys

Hans Petter Selasky hps at selasky.org
Thu Mar 17 07:18:27 UTC 2016


On 03/16/16 21:32, Gleb Smirnoff wrote:
> On Wed, Mar 16, 2016 at 08:37:52AM +0000, Hans Petter Selasky wrote:
> H> Author: hselasky
> H> Date: Wed Mar 16 08:37:52 2016
> H> New Revision: 296933
> H> URL: https://svnweb.freebsd.org/changeset/base/296933
> H>
> H> Log:
> H>   Improve the implementation and documentation of the
> H>   SYSCTL_COUNTER_U64_ARRAY() macro.
> H>
> H>   - Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks
> H>     the size of the first element of the array.
> H>   - Add an example to the counter(9) manual page how to use the
> H>     SYSCTL_COUNTER_U64_ARRAY() macro.
> H>   - Add some missing symbolic links for counter(9) while at it.
>
> ...
>
> H> +.Sh EXAMPLES
> H> +The following example creates a static counter array exported to
> H> +userspace through a sysctl:
> H> +.Bd -literal -offset indent
> H> +#define MY_SIZE 8
> H> +static counter_u64_t array[MY_SIZE];
> H> +SYSCTL_COUNTER_U64_ARRAY(_debug, OID_AUTO, counter_array, CTLFLAG_RW,
> H> +    &array[0], MY_SIZE, "Test counter array");
>
> I always wondered what is stylistically better: array or &array[0]? I
> usually prefer the former.
>

A question: If you pass "array" why do you need a length argument in the 
SYSCTL macro. Can't you get the length of the array like 
sizeof(array)/sizeof((array)[0]) inside the macro?

--HPS


More information about the svn-src-head mailing list