These pointers coerce implicitly.
Agsym_t *rv;
char *arg = name;
- data = agattrrec((Agobj_t *) obj);
+ data = agattrrec(obj);
if (data)
rv = agdictsym(data->dict, arg);
else
Agsym_t *sym;
NOTUSED(d);
- sym = (Agsym_t *) obj;
+ sym = obj;
NOTUSED(disc);
agstrfree(Ag_G_global, sym->name);
agstrfree(Ag_G_global, sym->defval);
if (sym == NULL)
rv = 0; /* note was "", but this provides more info */
else {
- data = agattrrec((Agobj_t *) obj);
+ data = agattrrec(obj);
rv = (char *) (data->str[sym->id]);
}
return rv;
Agattr_t *data;
char *rv;
- data = agattrrec((Agobj_t *) obj);
+ data = agattrrec(obj);
assert((sym->id >= 0) && (sym->id < topdictsize(obj)));
rv = (char *) (data->str[sym->id]);
return rv;
Agsym_t *lsym;
g = agraphof(obj);
- hdr = (Agobj_t *) obj;
+ hdr = obj;
data = agattrrec(hdr);
assert((sym->id >= 0) && (sym->id < topdictsize(obj)));
agstrfree(g, data->str[sym->id]);
sn = agsubrep(g, n);
if (sn) {
dtrestore(g->e_seq, sn->in_seq);
- f = (Agedge_t *) dtnext(g->e_seq, e);
+ f = dtnext(g->e_seq, e);
sn->in_seq = dtextract(g->e_seq);
}
return f;
(void)agsubnode(g,t,TRUE);
(void)agsubnode(g,h,TRUE);
- e2 = (Agedgepair_t *) agalloc(g, sizeof(Agedgepair_t));
+ e2 = agalloc(g, sizeof(Agedgepair_t));
in = &(e2->in);
out = &(e2->out);
seq = agnextseq(g, AGEDGE);
int agdelete(Agraph_t * g, void *obj)
{
- if ((AGTYPE((Agobj_t *) obj) == AGRAPH) && (g != agparent(obj))) {
+ if ((AGTYPE(obj) == AGRAPH) && (g != agparent(obj))) {
agerr(AGERR, "agdelete on wrong graph");
return FAILURE;
}
- switch (AGTYPE((Agobj_t *) obj)) {
+ switch (AGTYPE(obj)) {
case AGNODE:
return agdelnode(g, obj);
case AGINEDGE:
if (agroot (g) != agroot (obj)) return 0;
switch (AGTYPE(obj)) {
case AGRAPH:
- subg = (Agraph_t *) obj;
+ subg = obj;
do {
if (subg == g) return 1;
} while ((subg = agparent (subg)));
case AGNODE:
return (agidnode(g, AGID(obj), 0) != 0);
default:
- return (agsubedge(g, (Agedge_t *) obj, 0) != 0);
+ return (agsubedge(g, obj, 0) != 0);
}
}
handle->key = genkey(obj);
handle->g = g;
if (optsym) {
- handle->symlist =
- (symlist_t *) agalloc(handle->g, sizeof(symlist_t));
+ handle->symlist = agalloc(handle->g, sizeof(symlist_t));
handle->symlist->sym = optsym;
}
dtinsert(dict, handle);
else {
sz = sizeof(refstr_t) + strlen(s);
if (g)
- r = (refstr_t *) agalloc(g, sz);
+ r = agalloc(g, sz);
else
r = malloc(sz);
r->refcnt = 1;
else {
sz = sizeof(refstr_t) + strlen(s);
if (g)
- r = (refstr_t *) agalloc(g, sz);
+ r = agalloc(g, sz);
else
r = malloc(sz);
r->refcnt = 1;
if (ip){
for (k = ip[jmax]; k < ip[jmax+1]; k++) {
ie = jp[k];
- Vector_add(cedges[nc], (void*) (&ie));
+ Vector_add(cedges[nc], &ie);
}
} else {
- Vector_add(cedges[nc], (void*) (&jmax));
+ Vector_add(cedges[nc], &jmax);
}
jc = nc;
nc++;
if (ip){
for (k = ip[i]; k < ip[i+1]; k++) {
ie = jp[k];
- Vector_add(cedges[jc], (void*) (&ie));
+ Vector_add(cedges[jc], &ie);
}
} else {
- Vector_add(cedges[jc], (void*) (&i));
+ Vector_add(cedges[jc], &i);
}
cinks[jc] = minink;
grand_total_ink += minink;
if (len + 25 <= buflen)
name = buf;
else {
- name = (char *) gmalloc(len + 25);
+ name = gmalloc(len + 25);
}
strcpy(name, pfx);
*lenp = len;
}
Vector IntegerVector_add(Vector v, int i){
- return Vector_add(v, (void*) &i);
+ return Vector_add(v, &i);
}
void IntegerVector_delete(Vector v){
}
int* IntegerVector_get(Vector v, int i){
- int *p;
- p = (int*) Vector_get(v, i);
+ int *p = Vector_get(v, i);
if (!p) return NULL;
- return (int*) p;
+ return p;
}
int IntegerVector_get_length(Vector v){
}
Vector IntegerVector_reset(Vector v, int content, int pos){
- return Vector_reset(v, (void*) (&content), pos);
+ return Vector_reset(v, &content, pos);
}
/*---------------- string vector --------------- */
static void strdealloactor(void *v){
- char **s;
- s = (char**) v;
+ char **s = v;
free(*s);
}
}
Vector StringVector_add(Vector v, char *s){
- return Vector_add(v, (void*) &s);
+ return Vector_add(v, &s);
}
void StringVector_delete(Vector v){
}
char** StringVector_get(Vector v, int i){
- char **p;
- p = (char**) Vector_get(v, i);
+ char **p = Vector_get(v, i);
if (!p) return NULL;
return p;
}
}
Vector StringVector_reset(Vector v, char *content, int pos){
- return Vector_reset(v, (void*) (&content), pos);
+ return Vector_reset(v, &content, pos);
}
void StringVector_fprint1(FILE *fp, StringVector v){