Claudio suggested[0] to restrict the visibility of three helper functions in this file. The diff below goes a bit further, sprinkling some static and const magic to help the compiler generate better code.
ok? [0] https://marc.info/?l=openbsd-tech&m=158375920102498&w=2 Index: extern.h =================================================================== RCS file: /cvs/src/usr.sbin/rpki-client/extern.h,v retrieving revision 1.25 diff -u -p -r1.25 extern.h --- extern.h 9 Mar 2020 23:50:01 -0000 1.25 +++ extern.h 10 Mar 2020 00:09:25 -0000 @@ -370,9 +370,6 @@ extern int outformats; extern char* outputdir; int outputfiles(struct vrp_tree *v); -FILE *output_createtmp(char *); -void output_cleantmp(void); -int output_finish(FILE *); int output_bgpd(FILE *, struct vrp_tree *); int output_bird1v4(FILE *, struct vrp_tree *); int output_bird1v6(FILE *, struct vrp_tree *); Index: output.c =================================================================== RCS file: /cvs/src/usr.sbin/rpki-client/output.c,v retrieving revision 1.8 diff -u -p -r1.8 output.c --- output.c 9 Mar 2020 23:50:01 -0000 1.8 +++ output.c 10 Mar 2020 00:09:25 -0000 @@ -29,12 +29,12 @@ #include "extern.h" char *outputdir; -char output_tmpname[PATH_MAX]; -char output_name[PATH_MAX]; - int outformats; -struct outputs { +static char output_tmpname[PATH_MAX]; +static char output_name[PATH_MAX]; + +static const struct outputs { int format; char *name; int (*fn)(FILE *, struct vrp_tree *); @@ -48,8 +48,11 @@ struct outputs { { 0, NULL } }; -void sig_handler(int); -void set_signal_handler(void); +static FILE *output_createtmp(char *); +static void output_cleantmp(void); +static int output_finish(FILE *); +static void sig_handler(int); +static void set_signal_handler(void); int outputfiles(struct vrp_tree *v) @@ -89,7 +92,7 @@ outputfiles(struct vrp_tree *v) return rc; } -FILE * +static FILE * output_createtmp(char *name) { FILE *f; @@ -113,7 +116,7 @@ output_createtmp(char *name) return f; } -int +static int output_finish(FILE *out) { if (fclose(out) != 0) @@ -124,7 +127,7 @@ output_finish(FILE *out) return 0; } -void +static void output_cleantmp(void) { if (*output_tmpname) @@ -135,7 +138,7 @@ output_cleantmp(void) /* * Signal handler that clears the temporary files. */ -void +static void sig_handler(int sig __unused) { output_cleantmp(); @@ -145,7 +148,7 @@ sig_handler(int sig __unused) /* * Set signal handler on panic signals. */ -void +static void set_signal_handler(void) { struct sigaction sa; -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
