Skip to content

Commit

Permalink
lib: include inttypes.h to get PRIu64 & friends
Browse files Browse the repository at this point in the history
Including it in lib.h allows all of the Dovecot code (as well as any
external plugins) to just use these macros without worrying about what
system headers to include.
  • Loading branch information
Josef 'Jeff' Sipek authored and cmouse committed Jan 3, 2018
1 parent f8767e0 commit cd722df
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 5 deletions.
4 changes: 3 additions & 1 deletion configure.ac
Expand Up @@ -328,7 +328,7 @@ AC_DEFINE_UNQUOTED(DOVECOT_VERSION, "$PACKAGE_VERSION", [Dovecot version])
AC_DEFINE([DOVECOT_VERSION_MAJOR], regexp(AC_PACKAGE_VERSION, [^\([0-9]+\)\.\([0-9]+\)], [\1]), [Dovecot major version])
AC_DEFINE([DOVECOT_VERSION_MINOR], regexp(AC_PACKAGE_VERSION, [^\([0-9]+\)\.\([0-9]+\)], [\2]), [Dovecot minor version])

AC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h malloc.h inttypes.h \
AC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h malloc.h \
sys/uio.h sys/sysmacros.h sys/resource.h sys/select.h libgen.h \
sys/quota.h sys/fs/ufs_quota.h ufs/ufs/quota.h jfs/quota.h \
quota.h sys/fs/quota_common.h \
Expand Down Expand Up @@ -898,6 +898,8 @@ AC_DEFUN([AC_CHECKTYPE2], [
$2]], [[$1 t;]])],[i_cv_type_$1=yes],[i_cv_type_$1=no])])
AC_MSG_RESULT($i_cv_type_$1)
])
dnl we require inttypes.h for PRIu{8,16,32,64} macros
AC_CHECK_HEADER(inttypes.h,,AC_MSG_ERROR([inttypes.h missing but required]))

dnl some systems don't have stdint.h, but still have some of the types
dnl defined elsewhere
Expand Down
4 changes: 0 additions & 4 deletions src/lib/compat.h
@@ -1,10 +1,6 @@
#ifndef COMPAT_H
#define COMPAT_H

#if defined (HAVE_INTTYPES_H) && (defined(__osf__) || defined(_HPUX_SOURCE))
# include <inttypes.h>
#endif

/* well, this is obviously wrong since it assumes it's 64bit, but older
GCCs don't define it and we really want it. */
#ifndef LLONG_MAX
Expand Down
1 change: 1 addition & 0 deletions src/lib/lib.h
Expand Up @@ -17,6 +17,7 @@
#include <limits.h> /* INT_MAX, etc. */
#include <errno.h> /* error checking is good */
#include <sys/types.h> /* many other includes want this */
#include <inttypes.h> /* PRI* macros */

#ifdef HAVE_STDINT_H
# include <stdint.h> /* C99 int types, we mostly need uintmax_t */
Expand Down

0 comments on commit cd722df

Please sign in to comment.