[MacPorts] #70720: sox @14.4.2_4: error: incompatible function pointer types initializing 'sox_format_handler_seek' (aka 'int (*)(struct sox_format_t *, unsigned long)') with an expression of type 'int (sox_format_t *, uint64_t)' (aka 'int (struct sox_format_t *, unsigned long long)') [-Wincompatible-function-pointer-types]

MacPorts noreply at macports.org
Tue Nov 12 03:07:12 UTC 2024


#70720: sox @14.4.2_4: error: incompatible function pointer types initializing
'sox_format_handler_seek' (aka 'int (*)(struct sox_format_t *, unsigned
long)') with an expression of type 'int (sox_format_t *, uint64_t)' (aka
'int (struct sox_format_t *, unsigned long long)') [-Wincompatible-
function-pointer-types]
-----------------------+------------------------------
  Reporter:  tthoma24  |      Owner:  (none)
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.10.1
Resolution:            |   Keywords:  sequoia haspatch
      Port:  sox       |
-----------------------+------------------------------

Comment (by ryandesign):

 Replying to [comment:6 ryandesign]:
 > This problem might be what
 [https://codeberg.org/sox_ng/sox_ng/commit/f16645e45b8e42d3958a56915a2a031f7ddd3b9f
 this sox_ng commit] is fixing.

 Not sure what happened since I found that commit four weeks ago but it
 does not exist anymore.

 Instead I've now found
 [https://codeberg.org/sox_ng/sox_ng/commit/3fc3066559b321e38cae3d10b1726a7999be74c8
 this commit] which looks plausibly relevant, specifically the part that
 changes the type of the `offset` parameter in various functions from
 `uint64_t` to `sox_uint64_t`.

 Replying to [comment:8 jacobvosmaer]:
 > {{{
 > @@ -458,13 +459,7 @@ typedef long long sox_int64_t;
 >  Client API:
 >  Unsigned 64-bit type. Typically defined as unsigned long or unsigned
 long long.
 >  */
 > -#if ULONG_MAX==0xffffffffffffffff
 > -typedef unsigned long sox_uint64_t;
 > -#elif defined(_MSC_VER)
 > -typedef unsigned __int64 sox_uint64_t;
 > -#else
 > -typedef unsigned long long sox_uint64_t;
 > -#endif
 > +typedef uint64_t sox_uint64_t;
 >
 >  #ifndef _DOXYGEN_
 >  lsx_static_assert(sizeof(sox_int8_t)==1,   sox_int8_size);
 > }}}

 I'd be reluctant to change this code, since even sox_ng still keeps this
 code.

-- 
Ticket URL: <https://trac.macports.org/ticket/70720#comment:11>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list