On Fri, Mar 8, 2019 at 2:19 PM William A Rowe Jr <wr...@rowe-clan.net> 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'