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

Reply via email to