* David Hildenbrand (da...@redhat.com) wrote: > > >> 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!
Except that: address range conflicts with '' isn't very helpful. Why would you get a NULL id ? Dave > > -- > > Thanks, > > David / dhildenb -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK