On Thu, Apr 29, 2021 at 09:31:57AM -0700, Greg Steuck wrote:
> Alexander Bluhm <alexander.bl...@gmx.net> writes:
> >> I like this too. I somehow got the impression that macros are severely
> >> frowned upon and didn't offer this kind of interface before.
> >> 
> >> If you get this submitted, I can do a pass through the codebase to be
> >> sure we catch them all.
> 
> Vitaliy, I volunteer to do a separate pass, no reason to gate this clear
> improvement.

Ok :)

> 
> Q: would the introduction of SYSCTL_BOOL be considered an improvement
> over "0, 1"?
> 
> > Anyone who wants to OK it?
> 
> OK gnezdo, nits inline.
>
> >  
> > +int
> > +sysctl_int_bounded(void *oldp, size_t *oldlenp, void *newp, size_t newlen,
> > +    int *valp, int minimum, int maximum)
> > +{
> > +   int val = *valp;
> > +   int error;
> > +
> > +   /* read only */
> > +   if (newp == NULL || minimum > maximum)
> > +           return (sysctl_rdint(oldp, oldlenp, newp, *valp));
> 
> +             return (sysctl_rdint(oldp, oldlenp, newp, val));
> 
> This would make valp be used exactly to read and write the
> variable. Seems a tiny bit simpler.
> 

Agreed, this seems reasonable.

> > diff -u -p -r1.214 sysctl.h
> > --- sys/sysctl.h    10 Mar 2021 10:21:47 -0000      1.214
> > +++ sys/sysctl.h    28 Apr 2021 10:04:02 -0000
> > @@ -1000,6 +1000,9 @@ struct sysctl_bounded_args {
> >     int maximum; /* read-only variable if minimum > maximum */
> >  };
> >  
> > +#define SYSCTL_INT_UNBOUNDED       0,0
> 
> Unused, maybe introduce a single usage as an example?
> 

Or introduce this with the separate diff which will convert all related
structures?

Anyway diff is OK by me.

Reply via email to