-#include <h/mh.h> /* mh internals */
-#include <h/utils.h>
-#include <pwd.h> /* structure for getpwuid() results */
-
-static struct swit switches[] = {
-#define AUTOSW 0
- { "auto", 0 },
-#define VERSIONSW 1
- { "version", 0 },
-#define HELPSW 2
- { "help", 0 },
-#define CHECKSW 3
- { "check", 1 },
- { NULL, 0 }
-};
-
-/*
- * static prototypes
- */
-static char *geta(void);
+#include "h/mh.h"
+#include "sbr/getarguments.h"
+#include "sbr/read_switch.h"
+#include "sbr/concat.h"
+#include "sbr/smatch.h"
+#include "sbr/context_save.h"
+#include "sbr/context_replace.h"
+#include "sbr/readconfig.h"
+#include "sbr/ambigsw.h"
+#include "sbr/path.h"
+#include "sbr/print_version.h"
+#include "sbr/print_help.h"
+#include "sbr/error.h"
+#include "h/done.h"
+#include "h/utils.h"
+#include "sbr/m_maildir.h"
+#include "sbr/makedir.h"
+#include <pwd.h>
+#include "sbr/read_line.h"
+
+#define INSTALLMH_SWITCHES \
+ X("auto", 0, AUTOSW) \
+ X("version", 0, VERSIONSW) \
+ X("help", 0, HELPSW) \
+ X("check", 1, CHECKSW) \
+
+#define X(sw, minchars, id) id,
+DEFINE_SWITCH_ENUM(INSTALLMH);
+#undef X
+
+#define X(sw, minchars, id) { sw, minchars, id },
+DEFINE_SWITCH_ARRAY(INSTALLMH, switches);
+#undef X