> If HAVE_GETOPT is defined, let's use the function.

We dont rely on getopt, fluidsynth.c will do the parsing itself if it's not
present. The bigger problem is that getopt_long() may or may not be present
in getopt.h. But so far I havent seen a getopt.h that doesnt provide it.


Tom


2017-10-22 14:20 GMT+02:00 Carlo Bramini <carlo.bra...@libero.it>:

> Hello,
> in my opinion, that piece of code should be removed.
> The proper presence of getopt.h and the support of getopt() function
> should be tested by cmake.
> If HAVE_GETOPT_H is defined, let's include the file.
> If HAVE_GETOPT is defined, let's use the function.
>
> What do you think?
>
> Sincerely.
>
>
> > Il 22 ottobre 2017 alle 12.23 Marcus Weseloh <mar...@weseloh.cc> ha
> scritto:
> >
> > Hi,
> >
> > to me it looks like somebody read the getopt man page and took the
> synopsis as a usage example and not as a short description of the header
> file contents. I think the lines
> >
> > int getopt(int argc, char * const argv[], const char *optstring);
> > extern char *optarg;
> > extern int optind, opterr, optopt;
> >
> > can safely be removed.
> >
> > Cheers,
> >
> >     Marcus
> >
> > 2017-10-21 17:06 GMT+02:00 Tom M. <tom.m...@googlemail.com>:
> >
> > > clang-tidy also remarks that on Linux. Not sure why it has been done
> that way.
> > >
> > > Tom
> > >
> > > 2017-10-21 17:01 GMT+02:00 Carlo Bramini <carlo.bra...@libero.it>:
> > >
> > > > Hello,
> > > >  when compiling Fluidsynth on Windows, the compiler prints these
> messages into the console:
> > > >
> > > >  [ 97%] Building C object src/CMakeFiles/fluidsynth.dir/
> fluidsynth.c.o
> > > >  /home/Carlo/fluidsynth/src/fluidsynth.c:67:14: warning: 'optarg'
> redeclared with out dllimport attribute: previous dllimport ignored
> [-Wattributes]
> > > >   extern char *optarg;
> > > >                ^~~~~~
> > > >  /home/Carlo/fluidsynth/src/fluidsynth.c:68:12: warning: 'optind'
> redeclared with out dllimport attribute: previous dllimport ignored
> [-Wattributes]
> > > >   extern int optind, opterr, optopt;
> > > >              ^~~~~~
> > > >  /home/Carlo/fluidsynth/src/fluidsynth.c:68:20: warning: 'opterr'
> redeclared with out dllimport attribute: previous dllimport ignored
> [-Wattributes]
> > > >   extern int optind, opterr, optopt;
> > > >                      ^~~~~~
> > > >  /home/Carlo/fluidsynth/src/fluidsynth.c:68:28: warning: 'optopt'
> redeclared with out dllimport attribute: previous dllimport ignored
> [-Wattributes]
> > > >   extern int optind, opterr, optopt;
> > > >                              ^~~~~~
> > > >
> > > >  and actually it is right, because inside src/fluidsynth.c these
> variables are re-declarated and the dllimport attribute applied to them
> inside getopt.h is lost.
> > > >  Is there a particular reason for doing this thing?
> > > >
> > > >  Sincerely,
> > > >
> > > >  Carlo Bramini.
> > > >
> > > >  _______________________________________________
> > > >  fluid-dev mailing list
> > > >  fluid-dev@nongnu.org
> > > >  [https://lists.nongnu.org/mailman/listinfo/fluid-dev](
> https://lists.nongnu.org/mailman/listinfo/fluid-dev)
> > >
> > > _______________________________________________
> > >  fluid-dev mailing list
> > >  fluid-dev@nongnu.org
> > >  [https://lists.nongnu.org/mailman/listinfo/fluid-dev](
> https://lists.nongnu.org/mailman/listinfo/fluid-dev)
> >
> > _______________________________________________
> > fluid-dev mailing list
> > fluid-dev@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/fluid-dev
>
> _______________________________________________
> fluid-dev mailing list
> fluid-dev@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to