The attached patch turns on more extensive warnings in gcc (-W) and then fixes a bunch of unused-arg warnings and one signed/unsigned comparison warning. Non-gcc compilers should be unaffected.
This should help to find problems in the future, and will allow other packages (such as rsync) to compile the popt code with -W w/o compiler warnings showing up. ..wayne..
--- popt-1.14/configure 2008-02-16 16:40:56 -0800 +++ configure 2008-03-08 08:48:08 -0800 @@ -19512,7 +19512,7 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo if test "X$CC" = Xgcc; then - CFLAGS="-Wall $CFLAGS" + CFLAGS="-Wall -W $CFLAGS" fi if test $ac_cv_c_compiler_gnu = yes; then --- popt-1.14/configure.ac 2008-02-16 16:35:13 -0800 +++ configure.ac 2008-03-08 08:47:04 -0800 @@ -21,7 +21,7 @@ AC_PROG_INSTALL AC_PROG_LIBTOOL if test "X$CC" = Xgcc; then - CFLAGS="-Wall $CFLAGS" + CFLAGS="-Wall -W $CFLAGS" fi AC_GCC_TRADITIONAL --- popt-1.14/popt.c 2008-03-08 08:20:20 -0800 +++ popt.c 2008-03-08 08:45:02 -0800 @@ -644,7 +644,7 @@ static void poptStripArg(/[EMAIL PROTECTED]@*/ p /[EMAIL PROTECTED]@*/ } -int poptSaveString(const char *** argvp, /[EMAIL PROTECTED]@*/ unsigned int argInfo, +int poptSaveString(const char *** argvp, /[EMAIL PROTECTED]@*/ UNUSED(unsigned int argInfo), const char * val) { poptArgv argv; @@ -1218,7 +1218,7 @@ poptContext poptFreeContext(poptContext } int poptAddAlias(poptContext con, struct poptAlias alias, - /[EMAIL PROTECTED]@*/ int flags) + /[EMAIL PROTECTED]@*/ UNUSED(int flags)) { struct poptItem_s item_buf; poptItem item = &item_buf; --- popt-1.14/poptconfig.c 2008-02-16 16:35:14 -0800 +++ poptconfig.c 2008-03-08 08:46:29 -0800 @@ -170,7 +170,7 @@ int poptReadConfigFile(poptContext con, return 0; } -int poptReadDefaultConfig(poptContext con, /[EMAIL PROTECTED]@*/ int useEnv) +int poptReadDefaultConfig(poptContext con, /[EMAIL PROTECTED]@*/ UNUSED(int useEnv)) { static const char _popt_sysconfdir[] = POPT_SYSCONFDIR "/popt"; static const char _popt_etc[] = "/etc/popt"; @@ -192,7 +192,7 @@ int poptReadDefaultConfig(poptContext co glob_t g; /[EMAIL PROTECTED] -nullpass -type @*/ /* FIX: annotations for glob/globfree */ if (!glob("/etc/popt.d/*", 0, NULL, &g)) { - int i; + unsigned i; for (i=0; i<g.gl_pathc; i++) { char *f=g.gl_pathv[i]; if (strstr(f, ".rpmnew") || strstr(f, ".rpmsave")) --- popt-1.14/popthelp.c 2008-02-16 16:40:35 -0800 +++ popthelp.c 2008-03-08 08:45:34 -0800 @@ -34,9 +34,9 @@ */ /[EMAIL PROTECTED]@*/ static void displayArgs(poptContext con, - /[EMAIL PROTECTED]@*/ enum poptCallbackReason foo, + /[EMAIL PROTECTED]@*/ UNUSED(enum poptCallbackReason foo), struct poptOption * key, - /[EMAIL PROTECTED]@*/ const char * arg, /[EMAIL PROTECTED]@*/ void * data) + /[EMAIL PROTECTED]@*/ UNUSED(const char * arg), /[EMAIL PROTECTED]@*/ UNUSED(void * data)) /[EMAIL PROTECTED] [EMAIL PROTECTED]/ /[EMAIL PROTECTED] [EMAIL PROTECTED]/ { @@ -646,7 +646,7 @@ static size_t showHelpIntro(poptContext return len; } -void poptPrintHelp(poptContext con, FILE * fp, /[EMAIL PROTECTED]@*/ int flags) +void poptPrintHelp(poptContext con, FILE * fp, /[EMAIL PROTECTED]@*/ UNUSED(int flags)) { columns_t columns = calloc((size_t)1, sizeof(*columns)); int xx; @@ -865,7 +865,7 @@ static size_t showShortOptions(const str return len; } -void poptPrintUsage(poptContext con, FILE * fp, /[EMAIL PROTECTED]@*/ int flags) +void poptPrintUsage(poptContext con, FILE * fp, /[EMAIL PROTECTED]@*/ UNUSED(int flags)) { columns_t columns = calloc((size_t)1, sizeof(*columns)); struct poptDone_s done_buf; --- popt-1.14/poptparse.c 2008-02-16 16:35:14 -0800 +++ poptparse.c 2008-03-08 08:43:27 -0800 @@ -126,7 +126,7 @@ exit: * 2== line to long * 3== umm.... more? */ -int poptConfigFileToString(FILE *fp, char ** argstrp, /[EMAIL PROTECTED]@*/ int flags) +int poptConfigFileToString(FILE *fp, char ** argstrp, /[EMAIL PROTECTED]@*/ UNUSED(int flags)) { char line[999]; char * argstr; --- popt-1.14/system.h 2007-11-04 06:41:03 -0800 +++ system.h 2008-03-08 08:40:29 -0800 @@ -82,4 +82,9 @@ char * xstrdup (const char *str) #define getenv(_s) __secure_getenv(_s) #endif +#ifndef __GNUC__ +#define __attribute__(x) +#endif +#define UNUSED(x) x __attribute__((__unused__)) + #include "popt.h" --- popt-1.14/test1.c 2008-02-16 16:42:08 -0800 +++ test1.c 2008-03-08 08:45:02 -0800 @@ -6,8 +6,8 @@ /[EMAIL PROTECTED]@*/ static int pass2 = 0; -static void option_callback(/[EMAIL PROTECTED]@*/ poptContext con, - /[EMAIL PROTECTED]@*/ enum poptCallbackReason reason, +static void option_callback(/[EMAIL PROTECTED]@*/ UNUSED(poptContext con), + /[EMAIL PROTECTED]@*/ UNUSED(enum poptCallbackReason reason), const struct poptOption * opt, char * arg, void * data) /[EMAIL PROTECTED] fileSystem @*/