signal11/hidapi — pull request #78 by stanhu (2012-08-06 21:29:56+00:00)
Title: Mac: make_path() values changes from process to process

In the Mac implementation of make_path(), the last part of the string is the memory location of the device:

res = snprintf(buf, len, "%s_%04hx_%04hx_%p",
transport, vid, pid, device);

The problem is that this pointer only remains the same for that process and does not provide a common name for different processes to access the same device.

This is an issue because all my USB HID devices don't use the serial number field. There is no other way to identify the device other than its physical location.

It would seem to make more sense to me to use the Location ID for the last part of the string.