libimobiledevice / libusbmuxd

A client library to multiplex connections from and to iOS devices
https://libimobiledevice.org
GNU Lesser General Public License v2.1
574 stars 270 forks source link

Fails to build with libplist 2.5.0 #141

Closed City-busz closed 2 months ago

City-busz commented 2 months ago

Currently building libusbmuxd fails due to changed API in libplist:

libusbmuxd.c: In function 'device_info_from_plist':
libusbmuxd.c:288:63: warning: pointer targets in initialization of 'const char *' from 'const uint8_t *' {aka 'const unsigned char *'} differ in signedness [-Wpointer-sign]
  288 |                                         const char *netaddr = plist_get_data_ptr(n, &addr_len);
      |                                                               ^~~~~~~~~~~~~~~~~~
libusbmuxd.c: In function 'usbmuxd_read_pair_record':
libusbmuxd.c:1698:58: error: passing argument 2 of 'plist_get_data_val' from incompatible pointer type [-Wincompatible-pointer-types]
 1698 |                                 plist_get_data_val(node, record_data, &int64val);
      |                                                          ^~~~~~~~~~~
      |                                                          |
      |                                                          char **
In file included from libusbmuxd.c:96:
/usr/include/plist/plist.h:758:63: note: expected 'uint8_t **' {aka 'unsigned char **'} but argument is of type 'char **'
  758 |     PLIST_API void plist_get_data_val(plist_t node, uint8_t **val, uint64_t * length);
      |                                                     ~~~~~~~~~~^~~
libusbmuxd.c: In function 'usbmuxd_save_pair_record_with_device_id':
libusbmuxd.c:1733:39: warning: pointer targets in passing argument 1 of 'plist_new_data' differ in signedness [-Wpointer-sign]
 1733 |         plist_t data = plist_new_data(record_data, record_size);
      |                                       ^~~~~~~~~~~
      |                                       |
      |                                       const char *
/usr/include/plist/plist.h:261:53: note: expected 'const uint8_t *' {aka 'const unsigned char *'} but argument is of type 'const char *'
  261 |     PLIST_API plist_t plist_new_data(const uint8_t *val, uint64_t length);
      |                                      ~~~~~~~~~~~~~~~^~~
City-busz commented 2 months ago

Merge request https://github.com/libimobiledevice/libplist/pull/261 fixes the problem.

City-busz commented 2 months ago

Fixed by https://github.com/libimobiledevice/libplist/commit/1327c87bf92f1d51286e3172c1047a8a47c5ee3a