public static symbol make_symbol( byte[] name )
{
lock( table ) {
int hash_number = foreign.get_hash_power_number( name, 12 );
bucket _bucket = table[hash_number];
if (_bucket == null) {
symbol _symbol = new symbol( nil._nil, name );
table[hash_number] = new bucket( _symbol, null );
return _symbol;
}
for (bucket run = _bucket ; (run != null) ; run = run.next)
if (foreign.bigloo_strcmp( run.symb.pname, name ))
return run.symb;
symbol result = new symbol( nil._nil, name );
table[hash_number] = new bucket( result, _bucket );
return result;
}
}