// : vi ts=4 sw=4 noet :
/*
==================================================================================
- Copyright (c) 2019 Nokia
- Copyright (c) 2018-2019 AT&T Intellectual Property.
+ Copyright (c) 2019-2020 Nokia
+ Copyright (c) 2018-2020 AT&T Intellectual Property.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
incorporated into the RIC msg routing library and will be
available to user applications.
+ There is NO logging from this module! The caller is asusmed to
+ report any failures as it might handle them making any error messages
+ generated here misleading if not incorrect.
+
Date: 11 Feb 2000
Author: E. Scott Daniels
------------------------------------------------------------------------------
*/
+#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
eptr = (Sym_ele *) malloc( sizeof( Sym_ele) );
if( ! eptr ) {
- fprintf( stderr, "[FAIL] symtab/putin: out of memory\n" );
+ errno = ENOMEM;
return -1;
}
for( eptr = sym_tab[i]; eptr; eptr = eptr->next )
{
if( eptr->val && eptr->class ) {
- fprintf( stderr, "key=%s val@=%p\n", eptr->name, eptr->val );
+ fprintf( stderr, "symtab dump: key=%s val@=%p\n", eptr->name, eptr->val );
} else {
- fprintf( stderr, "nkey=%lu val@=%p\n", (unsigned long) eptr->nkey, eptr->val );
+ fprintf( stderr, "symtab dump: nkey=%lu val@=%p\n", (unsigned long) eptr->nkey, eptr->val );
}
}
}
if( (table = (Sym_tab *) malloc( sizeof( Sym_tab ))) == NULL )
{
- fprintf( stderr, "rmr_sym_alloc: unable to get memory for symtable (%d elements)", size );
+ errno = ENOMEM;
return NULL;
}
}
else
{
- fprintf( stderr, "sym_alloc: unable to get memory for %d elements", size );
+ errno = ENOMEM;
return NULL;
}
ch_count++;
if( level > 3 ) {
if( eptr->class ) { // a string key
- fprintf( stderr, "sym: (%d) key=%s val@=%p ref=%ld mod=%lu\n", i, eptr->name, eptr->val, eptr->rcount, eptr->mcount );
+ fprintf( stderr, " symtab stats: sym: (%d) key=%s val@=%p ref=%ld mod=%lu\n", i, eptr->name, eptr->val, eptr->rcount, eptr->mcount );
} else {
- fprintf( stderr, "sym: (%d) key=%lu val@=%p ref=%ld mod=%lu\n", i, (unsigned long) eptr->nkey, eptr->val, eptr->rcount, eptr->mcount );
+ fprintf( stderr, "symtab stats: sym: (%d) key=%lu val@=%p ref=%ld mod=%lu\n", i, (unsigned long) eptr->nkey, eptr->val, eptr->rcount, eptr->mcount );
}
}
}
twoper++;
if( level > 2 )
- fprintf( stderr, "sym: (%d) chained=%ld\n", i, ch_count );
+ fprintf( stderr, "symtab stats: sym: (%d) chained=%ld\n", i, ch_count );
}
if( level > 1 )
{
- fprintf( stderr, "sym: longest chain: idx=%d has %ld elsements):\n", maxi, max_chain );
+ fprintf( stderr, "symtab stats: sym: longest chain: idx=%d has %ld elsements):\n", maxi, max_chain );
for( eptr = sym_tab[maxi]; eptr; eptr = eptr->next ) {
if( eptr->class ) {
fprintf( stderr, "\t%s\n", eptr->name );
}
}
- fprintf( stderr, "sym:%ld(size) %ld(inhab) %ld(occupied) %ld(dead) %ld(maxch) %d(>2per)\n",
+ fprintf( stderr, "symtab stats: sym:%ld(size) %ld(inhab) %ld(occupied) %ld(dead) %ld(maxch) %d(>2per)\n",
table->size, table->inhabitants, table->size - empty, table->deaths, max_chain, twoper );
}