[Nagiosplug-devel] Nagios:Plugin feedback
Thomas Guyot-Sionnest
Thomas at zango.com
Fri Jan 19 16:53:54 CET 2007
> -----Original Message-----
> From: nagiosplug-devel-bounces at lists.sourceforge.net
> [mailto:nagiosplug-devel-bounces at lists.sourceforge.net] On
> Behalf Of Andreas Ericsson
> Sent: January 19, 2007 8:56
> To: Nagios Plugin Development Mailing List
> Subject: Re: [Nagiosplug-devel] Nagios:Plugin feedback
>
> Thomas Guyot-Sionnest wrote:
> >
> > There's many useful functions in the C API for Nagios
> plugins. I believe
> > it wouldn't be a bad idea to have the same kind of function directly
> > into Nagios::Plugin. By minimizing the use of external modules, you
> > simplify plugin deployment.
> >
> > Nagios::Plugin could itself load external modules to do the
> checks, but
> > those dependencies would be installed along with Nagios::Plugin.
> >
> > What I'm starting to realize is that there's nothing to check the
> > validity of arguments. In C you have all those functions:
> >
> > is_integer
> > is_intpos
> > is_intneg
> > is_intnonneg
> > is_intpercent
> > is_numeric
> > is_positive
> > is_negative
> > is_nonnegative
> > is_percentage
> >
>
> Please, pretty please, don't mention those. They are
> extremely bad examples
> of C programming. ALL of them can, even from the callers perspective
> be replaced with shorter versions that are already C89 compliant.
>
> Most of them also duplicate checks already implemented in the
> libc functions
> and *NONE* of them return the computed value to the caller.
> Each time you see
> one of those functions used, you will know for a fact that
> several operations
> are carried out at least twice. It's usually worse than that,
> because it's often
> done in subtly (and pointless) different ways that the
> compiler can't optimize
> away.
Oh, Thanks. I'm not a very experienced Perl programmer, and even worse C
programmer, so that's good to know.
It would be nice then to know the replacements, and possibly start a project
to clean up those (And any other that need to go) so we can eventually
remove that from utils.c/h. Or is there any reason why we wouldn't want to
do that?
This could be for a future v2 release, among with newer style tresholds
args, etc... Meanwhile the devlopper guidelines could mention which
functions not to use, and the recommended replacements. I often refer to
other plugins to decide how I should do things and they apparently aren't
always good examples.
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3076 bytes
Desc: not available
URL: <https://www.monitoring-plugins.org/archive/devel/attachments/20070119/0b354412/attachment.bin>
More information about the Devel
mailing list