Fix: error: implicit declaration of function 'yylex' is invalid in C99 [-Werror,-Wimplicit-function-declaration] error: implicit declaration of function 'yyerror' is invalid in C99 [-Werror,-Wimplicit-function-declaration] error: implicit declaration of function 'yyparse' is invalid in C99 [-Werror,-Wimplicit-function-declaration] error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration] error: implicitly declaring library function 'strdup' with type 'char *(const char *)' [-Werror,-Wimplicit-function-declaration] error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] Includes changes from: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066484 https://bugs.launchpad.net/bugs/2061589 --- configure.orig 2005-10-05 20:53:20.000000000 -0500 +++ configure 2024-08-02 21:48:39.000000000 -0500 @@ -3906,6 +3906,7 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -3919,7 +3920,7 @@ #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int -main () +main (void) { int i; for (i = 0; i < 256; i++) --- conf.h.orig +++ conf.h @@ -24,5 +24,8 @@ #define CONF_H extern void config_type(char *, char *, char *, char *); +int yyparse(void); +int yyerror(char *s); +int yylex(void); #endif /* CONF_H */ --- confl.l.orig +++ confl.l @@ -20,6 +20,7 @@ Tcpxtract, a sniffer that extracts files based on headers by Nick Harbour */ +#include #include "confy.h" %} --- confy.y.orig +++ confy.y @@ -23,6 +23,7 @@ #include #include "conf.h" +#include "confy.h" %} %union { @@ -55,6 +56,7 @@ %% #include +int yyerror(char *s) { printf("%s\n", s); --- tcpxtract.c.orig +++ tcpxtract.c @@ -44,6 +44,7 @@ #include "sessionlist.h" #include "util.h" +#include "conf.h" #include "confy.h" #include "search.h"