Check argument of ef_cadef(), ef_nelem(), ef_flags(), ef_mtime()

This removes any need for calling ef_check() outside of file.c.
Remove its only occurence, from symval(), and give it internal
linkage.
This commit is contained in:
Markus Armbruster 2008-09-01 09:34:16 -04:00
parent 1492845c12
commit 50cfdcb5a7
3 changed files with 10 additions and 4 deletions

View file

@ -197,7 +197,6 @@ extern void *ef_ptr(int, int);
extern char *ef_nameof(int);
extern time_t ef_mtime(int);
extern int ef_open(int, int, int);
extern int ef_check(int);
extern int ef_close(int);
extern int ef_flush(int);
extern void ef_blank(int, int, void *);

View file

@ -53,6 +53,7 @@ static int do_write(struct empfile *, void *, int, int);
static unsigned get_seqno(struct empfile *, int);
static void new_seqno(struct empfile *, void *);
static void do_blank(struct empfile *, void *, int, int);
static int ef_check(int);
/*
* Open the file-backed table TYPE (EF_SECTOR, ...).
@ -691,24 +692,32 @@ ef_truncate(int type, int count)
struct castr *
ef_cadef(int type)
{
if (ef_check(type) < 0)
return NULL;
return empfile[type].cadef;
}
int
ef_nelem(int type)
{
if (ef_check(type) < 0)
return 0;
return empfile[type].fids;
}
int
ef_flags(int type)
{
if (ef_check(type) < 0)
return 0;
return empfile[type].flags;
}
time_t
ef_mtime(int type)
{
if (ef_check(type) < 0)
return 0;
if (empfile[type].fd <= 0)
return 0;
return fdate(empfile[type].fd);
@ -765,7 +774,7 @@ ef_nameof(int type)
return empfile[type].name;
}
int
static int
ef_check(int type)
{
if (CANT_HAPPEN((unsigned)type >= EF_MAX))

View file

@ -671,8 +671,6 @@ symval(struct castr *ca, int i)
{
int type = ca->ca_table;
if (ef_check(type) < 0)
return -1;
if (ef_cadef(type) == symbol_ca)
/* symbol table, value is in the table */
return ((struct symbol *)ef_ptr(type, i))->value;