104 |
|
fundefined(fname) /* return # of arguments for function */ |
105 |
|
char *fname; |
106 |
|
{ |
107 |
< |
LIBR *lp; |
107 |
> |
register LIBR *lp; |
108 |
|
register VARDEF *vp; |
109 |
|
|
110 |
< |
if ((vp = varlookup(fname)) == NULL || vp->def == NULL |
111 |
< |
|| vp->def->v.kid->type != FUNC) |
112 |
< |
if ((lp = liblookup(fname)) == NULL) |
113 |
< |
return(0); |
114 |
< |
else |
115 |
< |
return(lp->nargs); |
116 |
< |
else |
110 |
> |
if ((vp = varlookup(fname)) != NULL && vp->def != NULL |
111 |
> |
&& vp->def->v.kid->type == FUNC) |
112 |
|
return(nekids(vp->def->v.kid) - 1); |
113 |
+ |
lp = vp != NULL ? vp->lib : liblookup(fname); |
114 |
+ |
if (lp == NULL) |
115 |
+ |
return(0); |
116 |
+ |
return(lp->nargs); |
117 |
|
} |
118 |
|
|
119 |
|
|