1 // 2 // aegis - project change supervisor 3 // Copyright (C) 2004-2008, 2012 Peter Miller 4 // 5 // This program is free software; you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published 7 // by the Free Software Foundation; either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 // General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // 18 19 #include <common/symtab.h> 20 21 22 void * query(string_ty * key) const23symtab_ty::query(string_ty *key) 24 const 25 { 26 return query(nstring(key)); 27 } 28 29 30 void * query(const nstring & key) const31symtab_ty::query(const nstring &key) 32 const 33 { 34 str_hash_ty idx = key.get_hash() & hash_mask; 35 for (row_t *p = hash_table[idx]; p; p = p->overflow) 36 { 37 if (key == p->key) 38 return p->data; 39 } 40 return 0; 41 } 42 43 44 // vim: set ts=8 sw=4 et : 45