diff --git a/include/assoc.cpp b/include/assoc.cpp index 88c8f4847..0d5b3d267 100755 --- a/include/assoc.cpp +++ b/include/assoc.cpp @@ -219,11 +219,11 @@ TObject& TAssoc_array::find( // @mfunc Ritorna l'oggetto con chiave

// @rdesc Se l'oggetto esiste ne ritorna il puntatore, altrimenti ritorna NULL TObject* TAssoc_array::objptr( - const char* key) // @parm Chiave dell'oggetto da ritornare + const char* key) const // @parm Chiave dell'oggetto da ritornare { bool isnew = FALSE; - THash_object* o = _lookup(key,isnew); + THash_object* o = ((TAssoc_array *)this)->_lookup(key,isnew); if (o != NULL) return o->_obj; return NULL; @@ -238,13 +238,10 @@ TObject* TAssoc_array::objptr( // @flag TRUE | Se la chiave esiste // @flag FALSE | Se la chiave non esiste bool TAssoc_array::is_key( - const char* key) // @parm Chiave da cercarne l'esistenza + const char* key) const // @parm Chiave da cercarne l'esistenza -{ - bool isnew = FALSE; - const THash_object* o = _lookup(key, isnew); - if (o == NULL) return FALSE; - return TRUE; +{ + return objptr(key) != NULL; } // @doc EXTERNAL diff --git a/include/assoc.h b/include/assoc.h index 945e49d77..7f759b8f1 100755 --- a/include/assoc.h +++ b/include/assoc.h @@ -113,10 +113,10 @@ public: TObject& find(const char* key); // @cmember Ritorna l'oggetto con chiave key - TObject* objptr(const char* key); + TObject* objptr(const char* key) const ; // @cmember Controlla l'esistenza di una chiave - bool is_key(const char* key); + bool is_key(const char* key) const ; // @cmember Ritorna l'indice del oggetto con chiave key (piu' intuitivo di ) TObject& operator[] (const char* key)