These pointers implicitly coerce.
for (a = agnxtattr(g,kind,0); a; a = agnxtattr(g,kind,a)) {
name = a->name;
value = a->defval;
- rv = (attr_t *) dtmatch(newdict, name);
+ rv = dtmatch(newdict, name);
if (!rv) {
rv = NEW(attr_t);
rv->name = name;
pair_t *p;
int len;
- p = (pair_t *) dtmatch(names, oldname);
+ p = dtmatch(names, oldname);
if (p) {
p->cnt++;
len = strlen(oldname) + 100; /* 100 for "_gv" and decimal no. */
key[0] = agtail(e);
key[1] = aghead(e);
- return (item *) dtmatch(map, &key);
+ return dtmatch(map, &key);
}
/* checkCompound:
if (!cc)
return -1;
if (!sym)
- sym = name ? (Exid_t*)dtmatch(cc->expr->symbols, name) : &cc->expr->main;
+ sym = name ? dtmatch(cc->expr->symbols, name) : &cc->expr->main;
if (sym && sym->lex == PROCEDURE && sym->value)
{
t = extype(type);
if (ex)
{
if (!sym)
- sym = name ? (Exid_t*)dtmatch(ex->symbols, name) : &ex->main;
+ sym = name ? dtmatch(ex->symbols, name) : &ex->main;
if (sym && sym->lex == PROCEDURE && sym->value)
{
if (type != DELETE_T)
ref = ref->next;
sfprintf(expr.program->tmp, "%s.%s", ref->symbol->name, sym->name);
s = exstash(expr.program->tmp, NiL);
- if (!(x = (Exid_t*)dtmatch(expr.program->symbols, s)))
+ if (!(x = dtmatch(expr.program->symbols, s)))
{
if ((x = newof(0, Exid_t, 1, strlen(s) - EX_NAMELEN + 1)))
{
s = exstash(ex->tmp, NiL);
/* v = expr.declare ? dtview(ex->symbols, NiL) : (Dt_t*)0; FIX */
v = (Dt_t*)0;
- exlval.id = (Exid_t*)dtmatch(ex->symbols, s);
+ exlval.id = dtmatch(ex->symbols, s);
if (v)
dtview(ex->symbols, v);
if (!exlval.id)
static int vMap(Dt_t * map, int i)
{
Ipair *ip;
- ip = (Ipair *) dtmatch(map, &i);
+ ip = dtmatch(map, &i);
return ip->j;
}
static int lookup (Dt_t* map, char* name)
{
- intm* ip = (intm*)dtmatch(map, name);
+ intm* ip = dtmatch(map, name);
if (ip) return ip->v;
else return -1;
}
static void insert (Dt_t* map, char* name, int v)
{
- intm* ip = (intm*)dtmatch(map, name);
+ intm* ip = dtmatch(map, name);
if (ip) {
if (ip->v != v)