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 *);
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, ...).
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);
return empfile[type].name;
}
-int
+static int
ef_check(int type)
{
if (CANT_HAPPEN((unsigned)type >= EF_MAX))
{
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;