uchar Isrc_mask,
uint Iaddr,
bool Iclr_bit,
- char *Iname,
+ const char *Iname,
int apoll_priority):
cl_base()
{
addr = Iaddr;
clr_bit = Iclr_bit;
if (Iname != NULL)
- name= strdup(Iname);
+ set_name(Iname);
else
- name= strdup("unknown");
+ set_name("unknown");
active= DD_TRUE;
}
-cl_it_src::~cl_it_src(void)
-{
- free(name);
-}
+cl_it_src::~cl_it_src(void) {}
bool
cl_it_src::is_active(void)
*/
cl_irqs::cl_irqs(t_index alimit, t_index adelta):
- cl_sorted_list(alimit, adelta)
+ cl_sorted_list(alimit, adelta, "irqs")
{
Duplicates= DD_TRUE;
}
-void *
+const void *
cl_irqs::key_of(void *item)
{
class cl_it_src *itsrc= (class cl_it_src *)item;
}
int
-cl_irqs::compare(void *key1, void *key2)
+cl_irqs::compare(const void *key1, const void *key2)
{
- int *k1= (int*)key1, *k2= (int*)key2;
+ const int k1= *static_cast<const int *>(key1), k2= *static_cast<const int *>(key2);
- if (*k1 == *k2)
+ if (k1 == k2)
return(0);
- else if (*k1 < *k2)
+ else if (k1 < k2)
return(-1);
return(1);
}