Dear Cyrus-maintainers,

building Cyrus IMAP 2.5.6 on Solaris 11 using the Sun CC, I experienced
issues with some casts in `lib/imapopts.c`, an excerpt (similar lines
occurring hundreds of times):

"lib/imapopts.c", line 32: invalid cast expression
"lib/imapopts.c", line 32: non-constant initializer involving a cast
"lib/imapopts.c", line 33: invalid cast expression
"lib/imapopts.c", line 33: non-constant initializer involving a cast
"lib/imapopts.c", line 36: invalid cast expression
"lib/imapopts.c", line 36: non-constant initializer involving a cast
"lib/imapopts.c", line 37: invalid cast expression
"lib/imapopts.c", line 37: non-constant initializer involving a cast
"lib/imapopts.c", line 40: invalid cast expression
"lib/imapopts.c", line 41: invalid cast expression
"lib/imapopts.c", line 44: invalid cast expression
"lib/imapopts.c", line 45: invalid cast expression

This seems to have been reported multiple times by now [1] [2]. I
applied the proposed fix by Christos Soulios in [1] (removing
"GCCisms"), and it works fine for us.

I'm not sure whether this fix is a good or a bad idea, but these casts
aren't, either, breaking compatibility with other compilers.

Regards from Lake Constance, Germany,
Jens Erat

[1]: http://comments.gmane.org/gmane.mail.imap.cyrus/8927
[2]: http://lists.andrew.cmu.edu/pipermail/info-cyrus/2004-April/006894.html

-- 
Jens Erat
Universität Konstanz
Kommunikations-, Infomations-, Medienzentrum (KIM)
Abteilung Basisdienste
D-78457 Konstanz
Mail: jens.e...@uni-konstanz.de

--- cyrus-imapd-2.5.6/lib/imapopts.c	Fr. Sep 11 03:59:30 2015
+++ cyrus-imapd-2.5.6-patched/lib/imapopts.c	Mo. Sep 14 11:49:16 2015
@@ -29,52 +29,52 @@
   { IMAPOPT_ZERO, "", 0, OPT_NOTOPT, { NULL }, { NULL }, { { NULL, IMAP_ENUM_ZERO } } },
 
   { IMAPOPT_ADDRESSBOOKPREFIX, "addressbookprefix", 0, OPT_STRING,
-    (union config_value)((const char *) "#addressbooks"),
-    (union config_value)((const char *) "#addressbooks"),
+    ((const char *) "#addressbooks"),
+    ((const char *) "#addressbooks"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ADMINS, "admins", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AFSPTS_LOCALREALMS, "afspts_localrealms", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AFSPTS_MYCELL, "afspts_mycell", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALLOWALLSUBSCRIBE, "allowallsubscribe", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALLOWANONYMOUSLOGIN, "allowanonymouslogin", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALLOWAPOP, "allowapop", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALLOWNEWNEWS, "allownewnews", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALLOWPLAINTEXT, "allowplaintext", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALLOWUSERMOVES, "allowusermoves", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ALTNAMESPACE, "altnamespace", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANNOTATION_DB, "annotation_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
       { "skiplist" , IMAP_ENUM_ZERO },
@@ -81,32 +81,32 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANNOTATION_DB_PATH, "annotation_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANYONEUSERACL, "anyoneuseracl", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANNOTATION_ALLOW_UNDEFINED, "annotation_allow_undefined", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANNOTATION_DEFINITIONS, "annotation_definitions", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANNOTATION_CALLOUT, "annotation_callout", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUDITLOG, "auditlog", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTH_MECH, "auth_mech", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "unix"),
-    (union config_value)((const char *) "unix"),
+    ((const char *) "unix"),
+    ((const char *) "unix"),
     { { "unix" , IMAP_ENUM_ZERO },
       { "pts" , IMAP_ENUM_ZERO },
       { "krb" , IMAP_ENUM_ZERO },
@@ -113,221 +113,221 @@
       { "krb5" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATEINBOXFOLDERS, "autocreateinboxfolders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATEQUOTA, "autocreatequota", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATEQUOTAMSG, "autocreatequotamsg", 0, OPT_INT,
-    (union config_value)((long) -1),
-    (union config_value)((long) -1),
+    ((long) -1),
+    ((long) -1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOSIEVEFOLDERS, "autosievefolders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_GENERATE_COMPILED_SIEVE_SCRIPT, "generate_compiled_sieve_script", 0, OPT_SWITCH,
-    (union config_value)((long) NULL),
-    (union config_value)((long) NULL),
+    ((long) NULL),
+    ((long) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SIEVE_COMPILED_SCRIPT, "autocreate_sieve_compiled_script", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOSUBSCRIBEINBOXFOLDERS, "autosubscribeinboxfolders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOSUBSCRIBESHAREDFOLDERS, "autosubscribesharedfolders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOSUBSCRIBE_ALL_SHAREDFOLDERS, "autosubscribe_all_sharedfolders", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_INBOX_FOLDERS, "autocreate_inbox_folders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_POST, "autocreate_post", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_QUOTA, "autocreate_quota", 0, OPT_INT,
-    (union config_value)((long) -1),
-    (union config_value)((long) -1),
+    ((long) -1),
+    ((long) -1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_QUOTA_MESSAGES, "autocreate_quota_messages", 0, OPT_INT,
-    (union config_value)((long) -1),
-    (union config_value)((long) -1),
+    ((long) -1),
+    ((long) -1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SIEVE_FOLDERS, "autocreate_sieve_folders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SIEVE_SCRIPT, "autocreate_sieve_script", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SIEVE_SCRIPT_COMPILE, "autocreate_sieve_script_compile", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SIEVE_SCRIPT_COMPILED, "autocreate_sieve_script_compiled", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SUBSCRIBE_FOLDERS, "autocreate_subscribe_folders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SUBSCRIBE_SHAREDFOLDERS, "autocreate_subscribe_sharedfolders", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_SUBSCRIBE_SHAREDFOLDERS_ALL, "autocreate_subscribe_sharedfolders_all", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_AUTOCREATE_USERS, "autocreate_users", 0, OPT_STRING,
-    (union config_value)((const char *) "anyone"),
-    (union config_value)((const char *) "anyone"),
+    ((const char *) "anyone"),
+    ((const char *) "anyone"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_BERKELEY_CACHESIZE, "berkeley_cachesize", 0, OPT_INT,
-    (union config_value)((long) 512),
-    (union config_value)((long) 512),
+    ((long) 512),
+    ((long) 512),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_BERKELEY_LOCKS_MAX, "berkeley_locks_max", 0, OPT_INT,
-    (union config_value)((long) 50000),
-    (union config_value)((long) 50000),
+    ((long) 50000),
+    ((long) 50000),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_BERKELEY_TXNS_MAX, "berkeley_txns_max", 0, OPT_INT,
-    (union config_value)((long) 100),
-    (union config_value)((long) 100),
+    ((long) 100),
+    ((long) 100),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_BOUNDARY_LIMIT, "boundary_limit", 0, OPT_INT,
-    (union config_value)((long) 1000),
-    (union config_value)((long) 1000),
+    ((long) 1000),
+    ((long) 1000),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CALDAV_ALLOWSCHEDULING, "caldav_allowscheduling", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON),
-    (union config_value)((enum enum_value) IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON),
+    ((enum enum_value) IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON),
+    ((enum enum_value) IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON),
     { { "off" , IMAP_ENUM_CALDAV_ALLOWSCHEDULING_OFF },
       { "on" , IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON },
       { "apple" , IMAP_ENUM_CALDAV_ALLOWSCHEDULING_APPLE },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CALDAV_MAXDATETIME, "caldav_maxdatetime", 0, OPT_STRING,
-    (union config_value)((const char *) "20380119T031407Z"),
-    (union config_value)((const char *) "20380119T031407Z"),
+    ((const char *) "20380119T031407Z"),
+    ((const char *) "20380119T031407Z"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CALDAV_MINDATETIME, "caldav_mindatetime", 0, OPT_STRING,
-    (union config_value)((const char *) "19011213T204552Z"),
-    (union config_value)((const char *) "19011213T204552Z"),
+    ((const char *) "19011213T204552Z"),
+    ((const char *) "19011213T204552Z"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CALDAV_REALM, "caldav_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CALENDARPREFIX, "calendarprefix", 0, OPT_STRING,
-    (union config_value)((const char *) "#calendars"),
-    (union config_value)((const char *) "#calendars"),
+    ((const char *) "#calendars"),
+    ((const char *) "#calendars"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CALENDAR_USER_ADDRESS_SET, "calendar_user_address_set", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CARDDAV_REALM, "carddav_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CHATTY, "chatty", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CLIENT_TIMEOUT, "client_timeout", 0, OPT_INT,
-    (union config_value)((long) 10),
-    (union config_value)((long) 10),
+    ((long) 10),
+    ((long) 10),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_COMMANDMINTIMER, "commandmintimer", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CONFIGDIRECTORY, "configdirectory", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_CREATEONPOST, "createonpost", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DAV_REALM, "dav_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DEBUG_COMMAND, "debug_command", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DEFAULTACL, "defaultacl", 0, OPT_STRING,
-    (union config_value)((const char *) "anyone lrs"),
-    (union config_value)((const char *) "anyone lrs"),
+    ((const char *) "anyone lrs"),
+    ((const char *) "anyone lrs"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DEFAULTDOMAIN, "defaultdomain", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DEFAULTPARTITION, "defaultpartition", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DEFAULTSERVER, "defaultserver", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DELETEDPREFIX, "deletedprefix", 0, OPT_STRING,
-    (union config_value)((const char *) "DELETED"),
-    (union config_value)((const char *) "DELETED"),
+    ((const char *) "DELETED"),
+    ((const char *) "DELETED"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DELETE_MODE, "delete_mode", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_DELETE_MODE_DELAYED),
-    (union config_value)((enum enum_value) IMAP_ENUM_DELETE_MODE_DELAYED),
+    ((enum enum_value) IMAP_ENUM_DELETE_MODE_DELAYED),
+    ((enum enum_value) IMAP_ENUM_DELETE_MODE_DELAYED),
     { { "immediate" , IMAP_ENUM_DELETE_MODE_IMMEDIATE },
       { "delayed" , IMAP_ENUM_DELETE_MODE_DELAYED },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DELETERIGHT, "deleteright", 0, OPT_STRING,
-    (union config_value)((const char *) "c"),
-    (union config_value)((const char *) "c"),
+    ((const char *) "c"),
+    ((const char *) "c"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DISABLE_USER_NAMESPACE, "disable_user_namespace", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DISABLE_SHARED_NAMESPACE, "disable_shared_namespace", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DISCONNECT_ON_VANISHED_MAILBOX, "disconnect_on_vanished_mailbox", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ISCHEDULE_DKIM_DOMAIN, "ischedule_dkim_domain", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ISCHEDULE_DKIM_KEY_FILE, "ischedule_dkim_key_file", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ISCHEDULE_DKIM_SELECTOR, "ischedule_dkim_selector", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DUPLICATE_DB, "duplicate_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-nosync" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -337,16 +337,16 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DUPLICATE_DB_PATH, "duplicate_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DUPLICATESUPPRESSION, "duplicatesuppression", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_CONTENT_INCLUSION_MODE, "event_content_inclusion_mode", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_STANDARD),
-    (union config_value)((enum enum_value) IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_STANDARD),
+    ((enum enum_value) IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_STANDARD),
+    ((enum enum_value) IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_STANDARD),
     { { "standard" , IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_STANDARD },
       { "message" , IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_MESSAGE },
       { "header" , IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_HEADER },
@@ -354,21 +354,21 @@
       { "headerbody" , IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_HEADERBODY },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_CONTENT_SIZE, "event_content_size", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_EXCLUDE_FLAGS, "event_exclude_flags", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_EXCLUDE_SPECIALUSE, "event_exclude_specialuse", 0, OPT_STRING,
-    (union config_value)((const char *) "\\Junk"),
-    (union config_value)((const char *) "\\Junk"),
+    ((const char *) "\\Junk"),
+    ((const char *) "\\Junk"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_EXTRA_PARAMS, "event_extra_params", 0, OPT_BITFIELD,
-    (union config_value)((unsigned long) IMAP_ENUM_EVENT_EXTRA_PARAMS_TIMESTAMP
+    ((unsigned long) IMAP_ENUM_EVENT_EXTRA_PARAMS_TIMESTAMP
 			 | 0),
-    (union config_value)((unsigned long) IMAP_ENUM_EVENT_EXTRA_PARAMS_TIMESTAMP
+    ((unsigned long) IMAP_ENUM_EVENT_EXTRA_PARAMS_TIMESTAMP
 			 | 0),
     { { "bodyStructure" , IMAP_ENUM_EVENT_EXTRA_PARAMS_BODYSTRUCTURE },
       { "clientAddress" , IMAP_ENUM_EVENT_EXTRA_PARAMS_CLIENTADDRESS },
@@ -390,10 +390,10 @@
       { "vnd.cmu.davUid" , IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVUID },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_GROUPS, "event_groups", 0, OPT_BITFIELD,
-    (union config_value)((unsigned long) IMAP_ENUM_EVENT_GROUPS_MESSAGE
+    ((unsigned long) IMAP_ENUM_EVENT_GROUPS_MESSAGE
 			 | IMAP_ENUM_EVENT_GROUPS_MAILBOX
 			 | 0),
-    (union config_value)((unsigned long) IMAP_ENUM_EVENT_GROUPS_MESSAGE
+    ((unsigned long) IMAP_ENUM_EVENT_GROUPS_MESSAGE
 			 | IMAP_ENUM_EVENT_GROUPS_MAILBOX
 			 | 0),
     { { "message" , IMAP_ENUM_EVENT_GROUPS_MESSAGE },
@@ -404,75 +404,75 @@
       { "subscription" , IMAP_ENUM_EVENT_GROUPS_SUBSCRIPTION },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EVENT_NOTIFIER, "event_notifier", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_EXPUNGE_MODE, "expunge_mode", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_EXPUNGE_MODE_DELAYED),
-    (union config_value)((enum enum_value) IMAP_ENUM_EXPUNGE_MODE_DELAYED),
+    ((enum enum_value) IMAP_ENUM_EXPUNGE_MODE_DELAYED),
+    ((enum enum_value) IMAP_ENUM_EXPUNGE_MODE_DELAYED),
     { { "default" , IMAP_ENUM_EXPUNGE_MODE_DEFAULT },
       { "immediate" , IMAP_ENUM_EXPUNGE_MODE_IMMEDIATE },
       { "delayed" , IMAP_ENUM_EXPUNGE_MODE_DELAYED },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_FAILEDLOGINPAUSE, "failedloginpause", 0, OPT_INT,
-    (union config_value)((long) 3),
-    (union config_value)((long) 3),
+    ((long) 3),
+    ((long) 3),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_FLUSHSEENSTATE, "flushseenstate", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_FOOLSTUPIDCLIENTS, "foolstupidclients", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_FORCE_SASL_CLIENT_MECH, "force_sasl_client_mech", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_FULLDIRHASH, "fulldirhash", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HASHIMAPSPOOL, "hashimapspool", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_DEBUG, "debug", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPALLOWCOMPRESS, "httpallowcompress", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPALLOWCORS, "httpallowcors", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPALLOWTRACE, "httpallowtrace", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPALLOWEDURLS, "httpallowedurls", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPCONTENTMD5, "httpcontentmd5", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPDOCROOT, "httpdocroot", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPKEEPALIVE, "httpkeepalive", 0, OPT_INT,
-    (union config_value)((long) 20),
-    (union config_value)((long) 20),
+    ((long) 20),
+    ((long) 20),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPMODULES, "httpmodules", 0, OPT_BITFIELD,
-    (union config_value)((unsigned long) 0),
-    (union config_value)((unsigned long) 0),
+    ((unsigned long) 0),
+    ((unsigned long) 0),
     { { "caldav" , IMAP_ENUM_HTTPMODULES_CALDAV },
       { "carddav" , IMAP_ENUM_HTTPMODULES_CARDDAV },
       { "domainkey" , IMAP_ENUM_HTTPMODULES_DOMAINKEY },
@@ -481,66 +481,66 @@
       { "timezone" , IMAP_ENUM_HTTPMODULES_TIMEZONE },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPPRETTYTELEMETRY, "httpprettytelemetry", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_HTTPTIMEOUT, "httptimeout", 0, OPT_INT,
-    (union config_value)((long) 5),
-    (union config_value)((long) 5),
+    ((long) 5),
+    ((long) 5),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IDLESOCKET, "idlesocket", 0, OPT_STRING,
-    (union config_value)((const char *) "{configdirectory}/socket/idle"),
-    (union config_value)((const char *) "{configdirectory}/socket/idle"),
+    ((const char *) "{configdirectory}/socket/idle"),
+    ((const char *) "{configdirectory}/socket/idle"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IGNOREREFERENCE, "ignorereference", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IMAPIDLEPOLL, "imapidlepoll", 0, OPT_INT,
-    (union config_value)((long) 60),
-    (union config_value)((long) 60),
+    ((long) 60),
+    ((long) 60),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IMAPIDRESPONSE, "imapidresponse", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IMAPMAGICPLUS, "imapmagicplus", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IMPLICIT_OWNER_RIGHTS, "implicit_owner_rights", 0, OPT_STRING,
-    (union config_value)((const char *) "lkxa"),
-    (union config_value)((const char *) "lkxa"),
+    ((const char *) "lkxa"),
+    ((const char *) "lkxa"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IMPROVED_MBOXLIST_SORT, "improved_mboxlist_sort", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_INTERNALDATE_HEURISTIC, "internaldate_heuristic", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_INTERNALDATE_HEURISTIC_STANDARD),
-    (union config_value)((enum enum_value) IMAP_ENUM_INTERNALDATE_HEURISTIC_STANDARD),
+    ((enum enum_value) IMAP_ENUM_INTERNALDATE_HEURISTIC_STANDARD),
+    ((enum enum_value) IMAP_ENUM_INTERNALDATE_HEURISTIC_STANDARD),
     { { "standard" , IMAP_ENUM_INTERNALDATE_HEURISTIC_STANDARD },
       { "receivedheader" , IMAP_ENUM_INTERNALDATE_HEURISTIC_RECEIVEDHEADER },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_IOLOG, "iolog", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_AUTHZ, "ldap_authz", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_BASE, "ldap_base", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_BIND_DN, "ldap_bind_dn", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_DEREF, "ldap_deref", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "never"),
-    (union config_value)((const char *) "never"),
+    ((const char *) "never"),
+    ((const char *) "never"),
     { { "search" , IMAP_ENUM_ZERO },
       { "find" , IMAP_ENUM_ZERO },
       { "always" , IMAP_ENUM_ZERO },
@@ -547,293 +547,293 @@
       { "never" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_DOMAIN_BASE_DN, "ldap_domain_base_dn", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_DOMAIN_FILTER, "ldap_domain_filter", 0, OPT_STRING,
-    (union config_value)((const char *) "(&(objectclass=domainrelatedobject)(associateddomain=%s))"),
-    (union config_value)((const char *) "(&(objectclass=domainrelatedobject)(associateddomain=%s))"),
+    ((const char *) "(&(objectclass=domainrelatedobject)(associateddomain=%s))"),
+    ((const char *) "(&(objectclass=domainrelatedobject)(associateddomain=%s))"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_DOMAIN_NAME_ATTRIBUTE, "ldap_domain_name_attribute", 0, OPT_STRING,
-    (union config_value)((const char *) "associateddomain"),
-    (union config_value)((const char *) "associateddomain"),
+    ((const char *) "associateddomain"),
+    ((const char *) "associateddomain"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_DOMAIN_SCOPE, "ldap_domain_scope", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "sub"),
-    (union config_value)((const char *) "sub"),
+    ((const char *) "sub"),
+    ((const char *) "sub"),
     { { "sub" , IMAP_ENUM_ZERO },
       { "one" , IMAP_ENUM_ZERO },
       { "base" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_DOMAIN_RESULT_ATTRIBUTE, "ldap_domain_result_attribute", 0, OPT_STRING,
-    (union config_value)((const char *) "inetdomainbasedn"),
-    (union config_value)((const char *) "inetdomainbasedn"),
+    ((const char *) "inetdomainbasedn"),
+    ((const char *) "inetdomainbasedn"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_FILTER, "ldap_filter", 0, OPT_STRING,
-    (union config_value)((const char *) "(uid=%u)"),
-    (union config_value)((const char *) "(uid=%u)"),
+    ((const char *) "(uid=%u)"),
+    ((const char *) "(uid=%u)"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_GROUP_BASE, "ldap_group_base", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_GROUP_FILTER, "ldap_group_filter", 0, OPT_STRING,
-    (union config_value)((const char *) "(cn=%u)"),
-    (union config_value)((const char *) "(cn=%u)"),
+    ((const char *) "(cn=%u)"),
+    ((const char *) "(cn=%u)"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_GROUP_SCOPE, "ldap_group_scope", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "sub"),
-    (union config_value)((const char *) "sub"),
+    ((const char *) "sub"),
+    ((const char *) "sub"),
     { { "sub" , IMAP_ENUM_ZERO },
       { "one" , IMAP_ENUM_ZERO },
       { "base" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_ID, "ldap_id", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_MECH, "ldap_mech", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_USER_ATTRIBUTE, "ldap_user_attribute", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_MEMBER_ATTRIBUTE, "ldap_member_attribute", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_MEMBER_BASE, "ldap_member_base", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_MEMBER_FILTER, "ldap_member_filter", 0, OPT_STRING,
-    (union config_value)((const char *) "(member=%D)"),
-    (union config_value)((const char *) "(member=%D)"),
+    ((const char *) "(member=%D)"),
+    ((const char *) "(member=%D)"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_MEMBER_METHOD, "ldap_member_method", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "attribute"),
-    (union config_value)((const char *) "attribute"),
+    ((const char *) "attribute"),
+    ((const char *) "attribute"),
     { { "attribute" , IMAP_ENUM_ZERO },
       { "filter" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_MEMBER_SCOPE, "ldap_member_scope", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "sub"),
-    (union config_value)((const char *) "sub"),
+    ((const char *) "sub"),
+    ((const char *) "sub"),
     { { "sub" , IMAP_ENUM_ZERO },
       { "one" , IMAP_ENUM_ZERO },
       { "base" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_PASSWORD, "ldap_password", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_REALM, "ldap_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_REFERRALS, "ldap_referrals", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_RESTART, "ldap_restart", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SASL, "ldap_sasl", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SASL_AUTHC, "ldap_sasl_authc", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SASL_AUTHZ, "ldap_sasl_authz", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SASL_MECH, "ldap_sasl_mech", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SASL_PASSWORD, "ldap_sasl_password", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SASL_REALM, "ldap_sasl_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SCOPE, "ldap_scope", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "sub"),
-    (union config_value)((const char *) "sub"),
+    ((const char *) "sub"),
+    ((const char *) "sub"),
     { { "sub" , IMAP_ENUM_ZERO },
       { "one" , IMAP_ENUM_ZERO },
       { "base" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SERVERS, "ldap_servers", 0, OPT_STRING,
-    (union config_value)((const char *) "ldap://localhost/";),
-    (union config_value)((const char *) "ldap://localhost/";),
+    ((const char *) "ldap://localhost/";),
+    ((const char *) "ldap://localhost/";),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_SIZE_LIMIT, "ldap_size_limit", 0, OPT_INT,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_START_TLS, "ldap_start_tls", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TIME_LIMIT, "ldap_time_limit", 0, OPT_INT,
-    (union config_value)((long) 5),
-    (union config_value)((long) 5),
+    ((long) 5),
+    ((long) 5),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TIMEOUT, "ldap_timeout", 0, OPT_INT,
-    (union config_value)((long) 5),
-    (union config_value)((long) 5),
+    ((long) 5),
+    ((long) 5),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_CA_DIR, "ldap_ca_dir", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_CA_FILE, "ldap_ca_file", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_CLIENT_CERT, "ldap_client_cert", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_VERIFY_PEER, "ldap_verify_peer", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_CIPHERS, "ldap_ciphers", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_CLIENT_KEY, "ldap_client_key", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TLS_CACERT_DIR, "ldap_tls_cacert_dir", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TLS_CACERT_FILE, "ldap_tls_cacert_file", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TLS_CERT, "ldap_tls_cert", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TLS_KEY, "ldap_tls_key", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TLS_CHECK_PEER, "ldap_tls_check_peer", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_TLS_CIPHERS, "ldap_tls_ciphers", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_URI, "ldap_uri", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LDAP_VERSION, "ldap_version", 0, OPT_INT,
-    (union config_value)((long) 3),
-    (union config_value)((long) 3),
+    ((long) 3),
+    ((long) 3),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTP_DOWNCASE_RCPT, "lmtp_downcase_rcpt", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH, "lmtp_fuzzy_mailbox_match", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTP_OVER_QUOTA_PERM_FAILURE, "lmtp_over_quota_perm_failure", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTP_STRICT_QUOTA, "lmtp_strict_quota", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTP_STRICT_RFC2821, "lmtp_strict_rfc2821", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTPSOCKET, "lmtpsocket", 0, OPT_STRING,
-    (union config_value)((const char *) "{configdirectory}/socket/lmtp"),
-    (union config_value)((const char *) "{configdirectory}/socket/lmtp"),
+    ((const char *) "{configdirectory}/socket/lmtp"),
+    ((const char *) "{configdirectory}/socket/lmtp"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTPTXN_TIMEOUT, "lmtptxn_timeout", 0, OPT_INT,
-    (union config_value)((long) 300),
-    (union config_value)((long) 300),
+    ((long) 300),
+    ((long) 300),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LOGINREALMS, "loginrealms", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LOGINUSEACL, "loginuseacl", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LOGTIMESTAMPS, "logtimestamps", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAILBOX_DEFAULT_OPTIONS, "mailbox_default_options", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAILBOX_INITIAL_FLAGS, "mailbox_initial_flags", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAILNOTIFIER, "mailnotifier", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAXHEADERLINES, "maxheaderlines", 0, OPT_INT,
-    (union config_value)((long) 1000),
-    (union config_value)((long) 1000),
+    ((long) 1000),
+    ((long) 1000),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAXLOGINS_PER_HOST, "maxlogins_per_host", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAXLOGINS_PER_USER, "maxlogins_per_user", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAXMESSAGESIZE, "maxmessagesize", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAXQUOTED, "maxquoted", 0, OPT_INT,
-    (union config_value)((long) 131072),
-    (union config_value)((long) 131072),
+    ((long) 131072),
+    ((long) 131072),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MAXWORD, "maxword", 0, OPT_INT,
-    (union config_value)((long) 131072),
-    (union config_value)((long) 131072),
+    ((long) 131072),
+    ((long) 131072),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MBOXKEY_DB, "mboxkey_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "berkeley" , IMAP_ENUM_ZERO },
       { "skiplist" , IMAP_ENUM_ZERO },
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MBOXLIST_DB, "mboxlist_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "flat" , IMAP_ENUM_ZERO },
       { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -842,16 +842,16 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MBOXLIST_DB_PATH, "mboxlist_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MBOXNAME_LOCKPATH, "mboxname_lockpath", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_METAPARTITION_FILES, "metapartition_files", 0, OPT_BITFIELD,
-    (union config_value)((unsigned long) 0),
-    (union config_value)((unsigned long) 0),
+    ((unsigned long) 0),
+    ((unsigned long) 0),
     { { "header" , IMAP_ENUM_METAPARTITION_FILES_HEADER },
       { "index" , IMAP_ENUM_METAPARTITION_FILES_INDEX },
       { "cache" , IMAP_ENUM_METAPARTITION_FILES_CACHE },
@@ -862,115 +862,115 @@
       { "dav" , IMAP_ENUM_METAPARTITION_FILES_DAV },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_AUTHNAME, "mupdate_authname", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_CONFIG, "mupdate_config", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_MUPDATE_CONFIG_STANDARD),
-    (union config_value)((enum enum_value) IMAP_ENUM_MUPDATE_CONFIG_STANDARD),
+    ((enum enum_value) IMAP_ENUM_MUPDATE_CONFIG_STANDARD),
+    ((enum enum_value) IMAP_ENUM_MUPDATE_CONFIG_STANDARD),
     { { "standard" , IMAP_ENUM_MUPDATE_CONFIG_STANDARD },
       { "unified" , IMAP_ENUM_MUPDATE_CONFIG_UNIFIED },
       { "replicated" , IMAP_ENUM_MUPDATE_CONFIG_REPLICATED },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUNGE8BIT, "munge8bit", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_CONNECTIONS_MAX, "mupdate_connections_max", 0, OPT_INT,
-    (union config_value)((long) 128),
-    (union config_value)((long) 128),
+    ((long) 128),
+    ((long) 128),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_PASSWORD, "mupdate_password", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_PORT, "mupdate_port", 0, OPT_INT,
-    (union config_value)((long) 3905),
-    (union config_value)((long) 3905),
+    ((long) 3905),
+    ((long) 3905),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_REALM, "mupdate_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_RETRY_DELAY, "mupdate_retry_delay", 0, OPT_INT,
-    (union config_value)((long) 20),
-    (union config_value)((long) 20),
+    ((long) 20),
+    ((long) 20),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_SERVER, "mupdate_server", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_USERNAME, "mupdate_username", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_WORKERS_MAX, "mupdate_workers_max", 0, OPT_INT,
-    (union config_value)((long) 50),
-    (union config_value)((long) 50),
+    ((long) 50),
+    ((long) 50),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_WORKERS_MAXSPARE, "mupdate_workers_maxspare", 0, OPT_INT,
-    (union config_value)((long) 10),
-    (union config_value)((long) 10),
+    ((long) 10),
+    ((long) 10),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_WORKERS_MINSPARE, "mupdate_workers_minspare", 0, OPT_INT,
-    (union config_value)((long) 2),
-    (union config_value)((long) 2),
+    ((long) 2),
+    ((long) 2),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_MUPDATE_WORKERS_START, "mupdate_workers_start", 0, OPT_INT,
-    (union config_value)((long) 5),
-    (union config_value)((long) 5),
+    ((long) 5),
+    ((long) 5),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NETSCAPEURL, "netscapeurl", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSADDHEADERS, "newsaddheaders", 0, OPT_BITFIELD,
-    (union config_value)((unsigned long) IMAP_ENUM_NEWSADDHEADERS_TO
+    ((unsigned long) IMAP_ENUM_NEWSADDHEADERS_TO
 			 | 0),
-    (union config_value)((unsigned long) IMAP_ENUM_NEWSADDHEADERS_TO
+    ((unsigned long) IMAP_ENUM_NEWSADDHEADERS_TO
 			 | 0),
     { { "to" , IMAP_ENUM_NEWSADDHEADERS_TO },
       { "replyto" , IMAP_ENUM_NEWSADDHEADERS_REPLYTO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSGROUPS, "newsgroups", 0, OPT_STRING,
-    (union config_value)((const char *) "*"),
-    (union config_value)((const char *) "*"),
+    ((const char *) "*"),
+    ((const char *) "*"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSMASTER, "newsmaster", 0, OPT_STRING,
-    (union config_value)((const char *) "news"),
-    (union config_value)((const char *) "news"),
+    ((const char *) "news"),
+    ((const char *) "news"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSPEER, "newspeer", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSPOSTUSER, "newspostuser", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSPREFIX, "newsprefix", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NEWSRC_DB_PATH, "newsrc_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NNTPTIMEOUT, "nntptimeout", 0, OPT_INT,
-    (union config_value)((long) 3),
-    (union config_value)((long) 3),
+    ((long) 3),
+    ((long) 3),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NOTIFYSOCKET, "notifysocket", 0, OPT_STRING,
-    (union config_value)((const char *) "{configdirectory}/socket/notify"),
-    (union config_value)((const char *) "{configdirectory}/socket/notify"),
+    ((const char *) "{configdirectory}/socket/notify"),
+    ((const char *) "{configdirectory}/socket/notify"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_NOTIFY_EXTERNAL, "notify_external", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PARTITION_SELECT_MODE, "partition_select_mode", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "freespace-most"),
-    (union config_value)((const char *) "freespace-most"),
+    ((const char *) "freespace-most"),
+    ((const char *) "freespace-most"),
     { { "random" , IMAP_ENUM_ZERO },
       { "freespace-most" , IMAP_ENUM_ZERO },
       { "freespace-percent-most" , IMAP_ENUM_ZERO },
@@ -978,110 +978,110 @@
       { "freespace-percent-weighted-delta" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PARTITION_SELECT_EXCLUDE, "partition_select_exclude", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PARTITION_SELECT_USAGE_REINIT, "partition_select_usage_reinit", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PARTITION_SELECT_SOFT_USAGE_LIMIT, "partition_select_soft_usage_limit", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PLAINTEXTLOGINPAUSE, "plaintextloginpause", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PLAINTEXTLOGINALERT, "plaintextloginalert", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPEXPIRETIME, "popexpiretime", 0, OPT_INT,
-    (union config_value)((long) -1),
-    (union config_value)((long) -1),
+    ((long) -1),
+    ((long) -1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPMINPOLL, "popminpoll", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPSUBFOLDERS, "popsubfolders", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPPOLLPADDING, "poppollpadding", 0, OPT_INT,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPTIMEOUT, "poptimeout", 0, OPT_INT,
-    (union config_value)((long) 10),
-    (union config_value)((long) 10),
+    ((long) 10),
+    ((long) 10),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPUSEACL, "popuseacl", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POPUSEIMAPFLAGS, "popuseimapflags", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POSTMASTER, "postmaster", 0, OPT_STRING,
-    (union config_value)((const char *) "postmaster"),
-    (union config_value)((const char *) "postmaster"),
+    ((const char *) "postmaster"),
+    ((const char *) "postmaster"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POSTSPEC, "postspec", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_POSTUSER, "postuser", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROC_PATH, "proc_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXY_AUTHNAME, "proxy_authname", 0, OPT_STRING,
-    (union config_value)((const char *) "proxy"),
-    (union config_value)((const char *) "proxy"),
+    ((const char *) "proxy"),
+    ((const char *) "proxy"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXY_COMPRESS, "proxy_compress", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXY_PASSWORD, "proxy_password", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXY_REALM, "proxy_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXYD_ALLOW_STATUS_REFERRAL, "proxyd_allow_status_referral", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXYD_DISABLE_MAILBOX_REFERRALS, "proxyd_disable_mailbox_referrals", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PROXYSERVERS, "proxyservers", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTS_MODULE, "pts_module", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "afskrb"),
-    (union config_value)((const char *) "afskrb"),
+    ((const char *) "afskrb"),
+    ((const char *) "afskrb"),
     { { "afskrb" , IMAP_ENUM_ZERO },
       { "ldap" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTLOADER_SOCK, "ptloader_sock", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTSCACHE_DB, "ptscache_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
       { "skiplist" , IMAP_ENUM_ZERO },
@@ -1088,24 +1088,24 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTSCACHE_DB_PATH, "ptscache_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTSCACHE_TIMEOUT, "ptscache_timeout", 0, OPT_INT,
-    (union config_value)((long) 10800),
-    (union config_value)((long) 10800),
+    ((long) 10800),
+    ((long) 10800),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTSKRB5_CONVERT524, "ptskrb5_convert524", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_PTSKRB5_STRIP_DEFAULT_REALM, "ptskrb5_strip_default_realm", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_QOSMARKING, "qosmarking", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_QOSMARKING_CS0),
-    (union config_value)((enum enum_value) IMAP_ENUM_QOSMARKING_CS0),
+    ((enum enum_value) IMAP_ENUM_QOSMARKING_CS0),
+    ((enum enum_value) IMAP_ENUM_QOSMARKING_CS0),
     { { "cs0" , IMAP_ENUM_QOSMARKING_CS0 },
       { "cs1" , IMAP_ENUM_QOSMARKING_CS1 },
       { "cs2" , IMAP_ENUM_QOSMARKING_CS2 },
@@ -1129,8 +1129,8 @@
       { "ef" , IMAP_ENUM_QOSMARKING_EF },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_QUOTA_DB, "quota_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "quotalegacy"),
-    (union config_value)((const char *) "quotalegacy"),
+    ((const char *) "quotalegacy"),
+    ((const char *) "quotalegacy"),
     { { "flat" , IMAP_ENUM_ZERO },
       { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1140,79 +1140,79 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_QUOTA_DB_PATH, "quota_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_QUOTAWARN, "quotawarn", 0, OPT_INT,
-    (union config_value)((long) 90),
-    (union config_value)((long) 90),
+    ((long) 90),
+    ((long) 90),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_QUOTAWARNKB, "quotawarnkb", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_QUOTAWARNMSG, "quotawarnmsg", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_REJECT8BIT, "reject8bit", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RFC2046_STRICT, "rfc2046_strict", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RFC3028_STRICT, "rfc3028_strict", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RSS_FEEDLIST_TEMPLATE, "rss_feedlist_template", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RSS_FEEDS, "rss_feeds", 0, OPT_STRING,
-    (union config_value)((const char *) "*"),
-    (union config_value)((const char *) "*"),
+    ((const char *) "*"),
+    ((const char *) "*"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RSS_MAXAGE, "rss_maxage", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RSS_MAXITEMS, "rss_maxitems", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RSS_MAXSYNOPSIS, "rss_maxsynopsis", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_RSS_REALM, "rss_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SASL_MAXIMUM_LAYER, "sasl_maximum_layer", 0, OPT_INT,
-    (union config_value)((long) 256),
-    (union config_value)((long) 256),
+    ((long) 256),
+    ((long) 256),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SASL_MINIMUM_LAYER, "sasl_minimum_layer", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SEARCH_SKIPDIACRIT, "search_skipdiacrit", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SEARCH_WHITESPACE, "search_whitespace", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_SEARCH_WHITESPACE_MERGE),
-    (union config_value)((enum enum_value) IMAP_ENUM_SEARCH_WHITESPACE_MERGE),
+    ((enum enum_value) IMAP_ENUM_SEARCH_WHITESPACE_MERGE),
+    ((enum enum_value) IMAP_ENUM_SEARCH_WHITESPACE_MERGE),
     { { "skip" , IMAP_ENUM_SEARCH_WHITESPACE_SKIP },
       { "merge" , IMAP_ENUM_SEARCH_WHITESPACE_MERGE },
       { "keep" , IMAP_ENUM_SEARCH_WHITESPACE_KEEP },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SEENSTATE_DB, "seenstate_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "flat" , IMAP_ENUM_ZERO },
       { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1220,16 +1220,16 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SENDMAIL, "sendmail", 0, OPT_STRING,
-    (union config_value)((const char *) "/usr/lib/sendmail"),
-    (union config_value)((const char *) "/usr/lib/sendmail"),
+    ((const char *) "/usr/lib/sendmail"),
+    ((const char *) "/usr/lib/sendmail"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SERVERLIST, "serverlist", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SERVERLIST_SELECT_MODE, "serverlist_select_mode", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "freespace-most"),
-    (union config_value)((const char *) "freespace-most"),
+    ((const char *) "freespace-most"),
+    ((const char *) "freespace-most"),
     { { "random" , IMAP_ENUM_ZERO },
       { "freespace-most" , IMAP_ENUM_ZERO },
       { "freespace-percent-most" , IMAP_ENUM_ZERO },
@@ -1237,34 +1237,34 @@
       { "freespace-percent-weighted-delta" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SERVERLIST_SELECT_USAGE_REINIT, "serverlist_select_usage_reinit", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SERVERLIST_SELECT_SOFT_USAGE_LIMIT, "serverlist_select_soft_usage_limit", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SERVERNAME, "servername", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SERVERINFO, "serverinfo", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_SERVERINFO_ON),
-    (union config_value)((enum enum_value) IMAP_ENUM_SERVERINFO_ON),
+    ((enum enum_value) IMAP_ENUM_SERVERINFO_ON),
+    ((enum enum_value) IMAP_ENUM_SERVERINFO_ON),
     { { "off" , IMAP_ENUM_SERVERINFO_OFF },
       { "min" , IMAP_ENUM_SERVERINFO_MIN },
       { "on" , IMAP_ENUM_SERVERINFO_ON },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SHAREDPREFIX, "sharedprefix", 0, OPT_STRING,
-    (union config_value)((const char *) "Shared Folders"),
-    (union config_value)((const char *) "Shared Folders"),
+    ((const char *) "Shared Folders"),
+    ((const char *) "Shared Folders"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_ALLOWREFERRALS, "sieve_allowreferrals", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_EXTENSIONS, "sieve_extensions", 0, OPT_BITFIELD,
-    (union config_value)((unsigned long) IMAP_ENUM_SIEVE_EXTENSIONS_FILEINTO
+    ((unsigned long) IMAP_ENUM_SIEVE_EXTENSIONS_FILEINTO
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_REJECT
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_VACATION
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_VACATION_SECONDS
@@ -1279,7 +1279,7 @@
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_INDEX
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_IMAP4FLAGS
 			 | 0),
-    (union config_value)((unsigned long) IMAP_ENUM_SIEVE_EXTENSIONS_FILEINTO
+    ((unsigned long) IMAP_ENUM_SIEVE_EXTENSIONS_FILEINTO
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_REJECT
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_VACATION
 			 | IMAP_ENUM_SIEVE_EXTENSIONS_VACATION_SECONDS
@@ -1312,107 +1312,107 @@
       { "imap4flags" , IMAP_ENUM_SIEVE_EXTENSIONS_IMAP4FLAGS },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_MAXSCRIPTSIZE, "sieve_maxscriptsize", 0, OPT_INT,
-    (union config_value)((long) 32),
-    (union config_value)((long) 32),
+    ((long) 32),
+    ((long) 32),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_MAXSCRIPTS, "sieve_maxscripts", 0, OPT_INT,
-    (union config_value)((long) 5),
-    (union config_value)((long) 5),
+    ((long) 5),
+    ((long) 5),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_UTF8FILEINTO, "sieve_utf8fileinto", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_SASL_SEND_UNSOLICITED_CAPABILITY, "sieve_sasl_send_unsolicited_capability", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_VACATION_MIN_RESPONSE, "sieve_vacation_min_response", 0, OPT_INT,
-    (union config_value)((long) 259200 /* 3 days */),
-    (union config_value)((long) 259200 /* 3 days */),
+    ((long) 259200 /* 3 days */),
+    ((long) 259200 /* 3 days */),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVE_VACATION_MAX_RESPONSE, "sieve_vacation_max_response", 0, OPT_INT,
-    (union config_value)((long) 7776000 /* 90 days */),
-    (union config_value)((long) 7776000 /* 90 days */),
+    ((long) 7776000 /* 90 days */),
+    ((long) 7776000 /* 90 days */),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVEDIR, "sievedir", 0, OPT_STRING,
-    (union config_value)((const char *) "/usr/sieve"),
-    (union config_value)((const char *) "/usr/sieve"),
+    ((const char *) "/usr/sieve"),
+    ((const char *) "/usr/sieve"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVENOTIFIER, "sievenotifier", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SIEVEUSEHOMEDIR, "sieveusehomedir", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ANYSIEVEFOLDER, "anysievefolder", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SINGLEINSTANCESTORE, "singleinstancestore", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SKIPLIST_ALWAYS_CHECKPOINT, "skiplist_always_checkpoint", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SKIPLIST_UNSAFE, "skiplist_unsafe", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SOFT_NOAUTH, "soft_noauth", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SPECIALUSE_EXTRA, "specialuse_extra", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SPECIALUSEALWAYS, "specialusealways", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SQL_DATABASE, "sql_database", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SQL_ENGINE, "sql_engine", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { "mysql" , IMAP_ENUM_ZERO },
       { "pgsql" , IMAP_ENUM_ZERO },
       { "sqlite" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SQL_HOSTNAMES, "sql_hostnames", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SQL_PASSWD, "sql_passwd", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SQL_USER, "sql_user", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SQL_USESSL, "sql_usessl", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SRVTAB, "srvtab", 0, OPT_STRING,
-    (union config_value)((const char *) ""),
-    (union config_value)((const char *) ""),
+    ((const char *) ""),
+    ((const char *) ""),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SUBMITSERVERS, "submitservers", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SUBSCRIPTION_DB, "subscription_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "flat"),
-    (union config_value)((const char *) "flat"),
+    ((const char *) "flat"),
+    ((const char *) "flat"),
     { { "flat" , IMAP_ENUM_ZERO },
       { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1420,16 +1420,16 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SUPPRESS_CAPABILITIES, "suppress_capabilities", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_STATUSCACHE, "statuscache", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_STATUSCACHE_DB, "statuscache_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-nosync" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1439,179 +1439,179 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_STATUSCACHE_DB_PATH, "statuscache_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_AUTHNAME, "sync_authname", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_HOST, "sync_host", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_LOG, "sync_log", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_LOG_CHAIN, "sync_log_chain", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_LOG_CHANNELS, "sync_log_channels", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_LOG_UNSUPPRESSABLE_CHANNELS, "sync_log_unsuppressable_channels", 0, OPT_STRING,
-    (union config_value)((const char *) "squatter"),
-    (union config_value)((const char *) "squatter"),
+    ((const char *) "squatter"),
+    ((const char *) "squatter"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_PASSWORD, "sync_password", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_PORT, "sync_port", 0, OPT_STRING,
-    (union config_value)((const char *) "csync"),
-    (union config_value)((const char *) "csync"),
+    ((const char *) "csync"),
+    ((const char *) "csync"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_REALM, "sync_realm", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_REPEAT_INTERVAL, "sync_repeat_interval", 0, OPT_INT,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_SHUTDOWN_FILE, "sync_shutdown_file", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYNC_TIMEOUT, "sync_timeout", 0, OPT_INT,
-    (union config_value)((long) 1800),
-    (union config_value)((long) 1800),
+    ((long) 1800),
+    ((long) 1800),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYSLOG_PREFIX, "syslog_prefix", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_SYSLOG_FACILITY, "syslog_facility", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TCP_KEEPALIVE, "tcp_keepalive", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TCP_KEEPALIVE_CNT, "tcp_keepalive_cnt", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TCP_KEEPALIVE_IDLE, "tcp_keepalive_idle", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TCP_KEEPALIVE_INTVL, "tcp_keepalive_intvl", 0, OPT_INT,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TEMP_PATH, "temp_path", 0, OPT_STRING,
-    (union config_value)((const char *) "/tmp"),
-    (union config_value)((const char *) "/tmp"),
+    ((const char *) "/tmp"),
+    ((const char *) "/tmp"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TIMEOUT, "timeout", 0, OPT_INT,
-    (union config_value)((long) 30),
-    (union config_value)((long) 30),
+    ((long) 30),
+    ((long) 30),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CA_FILE, "tls_ca_file", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CA_PATH, "tls_ca_path", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLSCACHE_DB, "tlscache_db", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLSCACHE_DB_PATH, "tlscache_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CERT_FILE, "tls_cert_file", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CIPHER_LIST, "tls_cipher_list", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CIPHERS, "tls_ciphers", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CLIENT_CA_DIR, "tls_client_ca_dir", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CLIENT_CA_FILE, "tls_client_ca_file", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CLIENT_CERT, "tls_client_cert", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CLIENT_CERTS, "tls_client_certs", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_TLS_CLIENT_CERTS_OPTIONAL),
-    (union config_value)((enum enum_value) IMAP_ENUM_TLS_CLIENT_CERTS_OPTIONAL),
+    ((enum enum_value) IMAP_ENUM_TLS_CLIENT_CERTS_OPTIONAL),
+    ((enum enum_value) IMAP_ENUM_TLS_CLIENT_CERTS_OPTIONAL),
     { { "off" , IMAP_ENUM_TLS_CLIENT_CERTS_OFF },
       { "optional" , IMAP_ENUM_TLS_CLIENT_CERTS_OPTIONAL },
       { "require" , IMAP_ENUM_TLS_CLIENT_CERTS_REQUIRE },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_CLIENT_KEY, "tls_client_key", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_COMPRESSION, "tls_compression", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_ECCURVE, "tls_eccurve", 0, OPT_STRING,
-    (union config_value)((const char *) "prime256v1"),
-    (union config_value)((const char *) "prime256v1"),
+    ((const char *) "prime256v1"),
+    ((const char *) "prime256v1"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_KEY_FILE, "tls_key_file", 0, OPT_STRING,
-    (union config_value)((const char *) "DEFAULT"),
-    (union config_value)((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
+    ((const char *) "DEFAULT"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_REQUIRED, "tls_required", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_PREFER_SERVER_CIPHERS, "tls_prefer_server_ciphers", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SERVER_CA_DIR, "tls_server_ca_dir", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SERVER_CA_FILE, "tls_server_ca_file", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SERVER_CERT, "tls_server_cert", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SERVER_KEY, "tls_server_key", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SESSIONS_DB, "tls_sessions_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-nosync" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1621,24 +1621,24 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SESSIONS_DB_PATH, "tls_sessions_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_SESSION_TIMEOUT, "tls_session_timeout", 0, OPT_INT,
-    (union config_value)((long) 1440),
-    (union config_value)((long) 1440),
+    ((long) 1440),
+    ((long) 1440),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_TLS_VERSIONS, "tls_versions", 0, OPT_STRING,
-    (union config_value)((const char *) "ssl2 ssl3 tls1_0 tls1_1 tls1_2"),
-    (union config_value)((const char *) "ssl2 ssl3 tls1_0 tls1_1 tls1_2"),
+    ((const char *) "ssl2 ssl3 tls1_0 tls1_1 tls1_2"),
+    ((const char *) "ssl2 ssl3 tls1_0 tls1_1 tls1_2"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_UMASK, "umask", 0, OPT_STRING,
-    (union config_value)((const char *) "077"),
-    (union config_value)((const char *) "077"),
+    ((const char *) "077"),
+    ((const char *) "077"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_USERDENY_DB, "userdeny_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "flat"),
-    (union config_value)((const char *) "flat"),
+    ((const char *) "flat"),
+    ((const char *) "flat"),
     { { "flat" , IMAP_ENUM_ZERO },
       { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1647,39 +1647,39 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_USERDENY_DB_PATH, "userdeny_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_USERNAME_TOLOWER, "username_tolower", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_USERPREFIX, "userprefix", 0, OPT_STRING,
-    (union config_value)((const char *) "Other Users"),
-    (union config_value)((const char *) "Other Users"),
+    ((const char *) "Other Users"),
+    ((const char *) "Other Users"),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_UNIX_GROUP_ENABLE, "unix_group_enable", 0, OPT_SWITCH,
-    (union config_value)((long) 1),
-    (union config_value)((long) 1),
+    ((long) 1),
+    ((long) 1),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_UNIXHIERARCHYSEP, "unixhierarchysep", 0, OPT_SWITCH,
-    (union config_value)((long) 0),
-    (union config_value)((long) 0),
+    ((long) 0),
+    ((long) 0),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_VIRTDOMAINS, "virtdomains", 0, OPT_ENUM,
-    (union config_value)((enum enum_value) IMAP_ENUM_VIRTDOMAINS_OFF),
-    (union config_value)((enum enum_value) IMAP_ENUM_VIRTDOMAINS_OFF),
+    ((enum enum_value) IMAP_ENUM_VIRTDOMAINS_OFF),
+    ((enum enum_value) IMAP_ENUM_VIRTDOMAINS_OFF),
     { { "off" , IMAP_ENUM_VIRTDOMAINS_OFF },
       { "userid" , IMAP_ENUM_VIRTDOMAINS_USERID },
       { "on" , IMAP_ENUM_VIRTDOMAINS_ON },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_LMTP_CATCHALL_MAILBOX, "lmtp_catchall_mailbox", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ZONEINFO_DB, "zoneinfo_db", 0, OPT_STRINGLIST,
-    (union config_value)((const char *) "twoskip"),
-    (union config_value)((const char *) "twoskip"),
+    ((const char *) "twoskip"),
+    ((const char *) "twoskip"),
     { { "flat" , IMAP_ENUM_ZERO },
       { "berkeley" , IMAP_ENUM_ZERO },
       { "berkeley-hash" , IMAP_ENUM_ZERO },
@@ -1687,8 +1687,8 @@
       { "twoskip" , IMAP_ENUM_ZERO },
       { NULL, IMAP_ENUM_ZERO } } },
   { IMAPOPT_ZONEINFO_DB_PATH, "zoneinfo_db_path", 0, OPT_STRING,
-    (union config_value)((const char *) NULL),
-    (union config_value)((const char *) NULL),
+    ((const char *) NULL),
+    ((const char *) NULL),
     { { NULL, IMAP_ENUM_ZERO } } },
 
   { IMAPOPT_LAST, NULL, 0, OPT_NOTOPT, { NULL }, { NULL }, { { NULL, IMAP_ENUM_ZERO } } }

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to