On Fri, Mar 8, 2019 at 2:19 PM William A Rowe Jr <[email protected]>
wrote:
>
> I'd like to give this question a few more days, and finally lock down
> our 1.7.0 candidate sometime later next week.
>
One obvious flaw I had missed in my earlier list, the problem with
maintainer mode strictness and our APR_OFF_T_FMT warnings.
I think the patch is as simple as prioritizing int over long... which would
be the same logic already in use for size_t etc. Could those on affected
platforms including the latest osx have a go at this configure hack before
I commit it? (Remember to ./buildconf after patching).
If this doesn't consistently work, I believe we would want to create a
flavor of the APR_CHECK_TYPES_COMPATIBLE() macro to verify type and format
pattern against an actual strict printf() invocation.
Index: configure.in
===================================================================
--- configure.in (revision 1855311)
+++ configure.in (working copy)
@@ -1828,7 +1828,7 @@
AC_MSG_CHECKING([which type to use for apr_off_t])
if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
- # LFS is go!
+ # LFS with distinct off64_t type
off_t_fmt='#define APR_OFF_T_FMT APR_INT64_T_FMT'
off_t_value='off64_t'
off_t_strfn='apr_strtoi64'
@@ -1847,11 +1847,11 @@
off_t_size="$ac_cv_sizeof_off_t"
# off_t is more commonly a long than an int; prefer that case
# where int and long are the same size.
- if test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long"; then
+ if test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_int"; then
+ off_t_fmt='#define APR_OFF_T_FMT "d"'
+ off_t_strfn='strtol'
+ elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long"; then
off_t_fmt='#define APR_OFF_T_FMT "ld"'
- off_t_strfn='strtol'
- elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_int"; then
- off_t_fmt='#define APR_OFF_T_FMT "d"'
off_t_strfn='strtoi'
elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long_long"; then
off_t_fmt='#define APR_OFF_T_FMT APR_INT64_T_FMT'