mirror of
https://github.com/shadps4-emu/ext-libusb.git
synced 2026-01-31 00:55:21 +01:00
32f3c6db957da09f78de18439c61ab1b8fe6358f
Silence "nonstandard extension used : zero-sized array in struct/union" (C4200) warning caused by use of ZERO_SIZED_ARRAY in structures defined in libusb.h when compiling with msvc. A libusb user including the header from a c++ file is more likely to be annoyed by the warning because it is activated at level 2 as opposed to being included from a C file, where it's not activated until level 4. (on msvc, level 4 is the last step before -Wall). This causes problems when you also enable -Werror for your own source, since the libusb header just gets merged into the compilation unit. 9>hotplugtest.c 9>C:\src\libusb\libusb\libusb.h(786,11): error C2220: the following warning is treated as an error 9>C:\src\libusb\libusb\libusb.h(786,11): error C2220: uint8_t dev_capability_data[ZERO_SIZED_ARRAY]; 9>C:\src\libusb\libusb\libusb.h(786,11): error C2220: ^ 9>C:\src\libusb\libusb\libusb.h(786,11): warning C4200: nonstandard extension used: zero-sized array in struct/union 9>C:\src\libusb\libusb\libusb.h(786,11): warning C4200: uint8_t dev_capability_data[ZERO_SIZED_ARRAY]; 9>C:\src\libusb\libusb\libusb.h(786,11): warning C4200: ^ 9>C:\src\libusb\libusb\libusb.h(811,47): warning C4200: nonstandard extension used: zero-sized array in struct/union 5>C:\src\libusb\libusb\libusb.h(811,47): warning C4200: struct libusb_bos_dev_capability_descriptor *dev_capability[ZERO_SIZED_ARRAY]; 5>C:\src\libusb\libusb\libusb.h(811,47): warning C4200: ^ 9>C:\src\libusb\libusb\libusb.h(1284,38): warning C4200: nonstandard extension used: zero-sized array in struct/union 9>C:\src\libusb\libusb\libusb.h(1284,38): warning C4200: struct libusb_iso_packet_descriptor iso_packet_desc[ZERO_SIZED_ARRAY]; 9>C:\src\libusb\libusb\libusb.h(1284,38): warning C4200: ^ 9>Done building project "hotplugtest.vcxproj" -- FAILED. Closes #1112
libusb
libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).
libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.
libusb homepage: http://libusb.info/
Developers will wish to consult the API documentation: http://api.libusb.info
Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info
- Hans de Goede hdegoede@redhat.com
- Xiaofan Chen xiaofanc@gmail.com
- Ludovic Rousseau ludovic.rousseau@gmail.com
- Nathan Hjelm hjelmn@cs.unm.edu
- Chris Dickens christopher.a.dickens@gmail.com
(Please use the mailing list rather than mailing developers directly)
Description
⚠️ ARCHIVED: Original GitHub repository no longer exists. Preserved as backup on 2026-01-31T05:30:30.373Z
Languages
C
91.5%
C++
4.8%
M4
1.3%
Makefile
1.1%
CMake
0.6%
Other
0.6%