Brendan Shanks bshanks@codeweavers.com writes:
@@ -1264,13 +1264,200 @@ static NTSTATUS create_cpuset_info(SYSTEM_CPU_SET_INFORMATION *info)
#ifdef linux
-static void copy_smbios_string( char **buffer, char *s, size_t len ) +static void copy_smbios_string( char **buffer, const char *s, size_t len ) { if (!len) return; memcpy(*buffer, s, len + 1); *buffer += len + 1; }
+#define S(s) const char * s, size_t s ## _len +static NTSTATUS create_smbios_tables( SYSTEM_FIRMWARE_TABLE_INFORMATION *sfti, ULONG available_len,
ULONG *required_len,
S(bios_vendor), S(bios_version), S(bios_date),
S(system_vendor), S(system_product), S(system_version),
S(system_serial), const GUID *system_uuid, S(system_sku),
S(system_family),
S(board_vendor), S(board_product), S(board_version),
S(board_serial), S(board_asset_tag),
S(chassis_vendor), BYTE chassis_type, S(chassis_version),
S(chassis_serial), S(chassis_asset_tag) )
+#undef S
If you have to add macros to define the function parameters, it's probably a sign that you should be passing some sort of array or structure instead.