X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fsim.src%2Fitsrc.cc;h=32fc69594fccd7018b6ec354fbc2f4ee1fa66f5f;hb=34d14506fd0c12ee5434fec0f9dec27753e1aab5;hp=0a5636c86788ac6760632199854120421d0ec495;hpb=8c8f34ff4281a55d2f535335c02999246e9e12f2;p=fw%2Fsdcc diff --git a/sim/ucsim/sim.src/itsrc.cc b/sim/ucsim/sim.src/itsrc.cc index 0a5636c8..32fc6959 100644 --- a/sim/ucsim/sim.src/itsrc.cc +++ b/sim/ucsim/sim.src/itsrc.cc @@ -46,7 +46,7 @@ cl_it_src::cl_it_src(uchar Iie_mask, uchar Isrc_mask, uint Iaddr, bool Iclr_bit, - char *Iname, + const char *Iname, int apoll_priority): cl_base() { @@ -57,16 +57,13 @@ cl_it_src::cl_it_src(uchar Iie_mask, 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) @@ -97,12 +94,12 @@ cl_it_src::deactivate(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; @@ -110,13 +107,13 @@ cl_irqs::key_of(void *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(key1), k2= *static_cast(key2); - if (*k1 == *k2) + if (k1 == k2) return(0); - else if (*k1 < *k2) + else if (k1 < k2) return(-1); return(1); }