summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2021-04-17 21:46:47 -0600
committerEduardo Chappa <chappa@washington.edu>2021-04-17 22:03:56 -0600
commitd2ad22272baf7d977d6dac930d149af0cd8982c9 (patch)
tree659005f73de6d966a7444b9ebce8084fadb7f6ba /include
parentf6519aa1448e62a757d43e57cabd081ab594dfb1 (diff)
downloadalpine-d2ad22272baf7d977d6dac930d149af0cd8982c9.tar.xz
* Add new type SUINT32, as a shorter version of UINT32 for systems that
do not have a proper uint32_t type. SUINT32 is defined by default to be UINT32, but during compilation the user can define an environment variable SUINT32 to be, say, unsigned long, and that will make SUINT32 to take that type. This, and the source codem, are the only places where this is documented. Work in collaboration with professor Martin Trusler.
Diffstat (limited to 'include')
-rw-r--r--include/config.h.in3
-rw-r--r--include/config.wnt.h1
-rw-r--r--include/general.h4
3 files changed, 7 insertions, 1 deletions
diff --git a/include/config.h.in b/include/config.h.in
index 834950c3..7d978e6f 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -608,6 +608,9 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* System defined for shorter than unsigned 32 bit integer */
+#undef SUINT32
+
/* System pinerc */
#undef SYSTEM_PINERC
diff --git a/include/config.wnt.h b/include/config.wnt.h
index 156b34e3..042f94a9 100644
--- a/include/config.wnt.h
+++ b/include/config.wnt.h
@@ -589,6 +589,7 @@
/* System defined unsigned 32 bit integer */
/* #define UINT32 uint32_t */
/* #define UINT32 unsigned long */
+#define SUINT32 UINT32
/* Compile in quota check on startup */
/* #define USE_QUOTAS */
diff --git a/include/general.h b/include/general.h
index 0ae02f08..95d914ab 100644
--- a/include/general.h
+++ b/include/general.h
@@ -122,8 +122,10 @@
* interfere with the actual character values. They are also
* all positive values with the most significant bit set to 0,
* so a 32 bit signed integer could hold them all.
+ * For most people SUINT32 is UINT32, but the user can define
+ * differently at compilation time, for example, as unsigned long.
*/
-typedef UINT32 UCS;
+typedef SUINT32 UCS;
/*
* The type of an IMAP UID, which is a 32-bit unsigned int.