(ef_ptr): Change return type to void *.
(ef_ptr): Use CANT_HAPPEN() to ensure EFF_MEM; check it before less serious index out of range failure.
This commit is contained in:
parent
5030d124a1
commit
f2e6d6b232
3 changed files with 7 additions and 8 deletions
|
@ -171,20 +171,19 @@ ef_flush(int type)
|
|||
/*
|
||||
* Return a pointer the id 'id' of object of type 'type' in the cache.
|
||||
*/
|
||||
char *
|
||||
void *
|
||||
ef_ptr(int type, int id)
|
||||
{
|
||||
struct empfile *ep;
|
||||
|
||||
if (ef_check(type) < 0)
|
||||
return NULL;
|
||||
|
||||
ep = &empfile[type];
|
||||
if (CANT_HAPPEN(!(ep->flags & EFF_MEM)))
|
||||
return NULL;
|
||||
if (id < 0 || id >= ep->fids)
|
||||
return NULL;
|
||||
if ((ep->flags & EFF_MEM) == 0) {
|
||||
logerror("ef_ptr: (%s) only valid for EFF_MEM entries", ep->file);
|
||||
return NULL;
|
||||
}
|
||||
return NULL; /* FIXME can this happen? */
|
||||
return ep->cache + ep->size * id;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue