>> static gint memory_device_addr_sort(gconstpointer a, gconstpointer b)
>> {
>> const MemoryDeviceState *md_a = MEMORY_DEVICE(a);
>> @@ -168,6 +184,7 @@ static uint64_t memory_device_get_free_addr(MachineState
>> *ms,
>> for (item = list; item; item = g_slist_next(item)) {
>> MemoryDeviceState *md = item->data;
>> const MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(OBJECT(md));
>> + const char *id = memory_device_id(md);
>> uint64_t md_size, md_addr;
>>
>> md_addr = mdc->get_addr(md);
>> @@ -178,8 +195,8 @@ static uint64_t memory_device_get_free_addr(MachineState
>> *ms,
>>
>> if (ranges_overlap(md_addr, md_size, new_addr, size)) {
>> if (hint) {
>> - const DeviceState *d = DEVICE(md);
>> - error_setg(errp, "address range conflicts with '%s'",
>> d->id);
>> + error_setg(errp, "address range conflicts with '%s'",
>> + id ? id : 0);
>
> What's that 'id ? id : 0' trick for?
0 -> "", then it actually makes sense :)
I'll fix this up, thanks!
--
Thanks,
David / dhildenb