Source: https://bugs.ntp.org/show_bug.cgi?id=3688 Juergen Perlinger 2020-12-24 07:10:49 UTC Created attachment 1760 [details] ultimate patch, v00 --- a/sntp/log.c 2020-12-24 08:02:05.206004072 +0100 +++ a/sntp/log.c 2020-12-24 08:02:05.206004072 +0100 @@ -2,7 +2,7 @@ #include "log.h" -const char *progname; /* for msyslog use too */ +extern const char *progname; /* for msyslog use too */ static int counter = 0; --- a/sntp/main.c 2020-12-24 08:02:05.210003956 +0100 +++ a/sntp/main.c 2020-12-24 08:02:05.210003956 +0100 @@ -20,7 +20,6 @@ #include "log.h" #include "libntp.h" - int shutting_down; int time_derived; int time_adjusted; --- a/sntp/main.h 2020-12-24 08:02:05.210003956 +0100 +++ a/sntp/main.h 2020-12-24 08:02:05.210003956 +0100 @@ -16,6 +16,14 @@ #include "crypto.h" +/* !Attention! 'progname' must de instantiated in any program that wants + * to use this library. Putting it into the library breaks a lot of + * things, since many programs define it itself and then the symbol + * might end up twice in the linker. + */ +extern const char * progname; + + void set_li_vn_mode(struct pkt *spkt, char leap, char version, char mode); extern int sntp_main(int argc, char **argv, const char *); int generate_pkt(struct pkt *x_pkt, const struct timeval *tv_xmt, --- a/sntp/sntp.c 2020-12-24 08:02:05.210003956 +0100 +++ a/sntp/sntp.c 2020-12-24 08:02:05.210003956 +0100 @@ -2,6 +2,8 @@ #include "main.h" +const char * progname; + int main ( int argc, --- a/sntp/tests/t-log.c 2020-12-24 08:02:05.210003956 +0100 +++ a/sntp/tests/t-log.c 2020-12-24 08:02:05.210003956 +0100 @@ -3,7 +3,6 @@ #include "ntp_types.h" -//#include "log.h" #include "log.c" void setUp(void); --- a/tests/libntp/test-libntp.h 2020-12-24 08:02:05.210003956 +0100 +++ a/tests/libntp/test-libntp.h 2020-12-24 08:02:05.210003956 +0100 @@ -5,4 +5,4 @@ time_t timefunc(time_t *ptr); void settime(int y, int m, int d, int H, int M, int S); -time_t nowtime; +extern time_t nowtime;