Change struct empfile callback onresize() to return void
ef_open() handles onresize() failing incorrectly. Instead of fixing that, drop the failure mode. It's not really used: unit_onresize() fails only when used incorrectly. It isn't. If it ever is, ignoring the failure is safe.
This commit is contained in:
parent
45c7337e70
commit
a485084777
5 changed files with 15 additions and 17 deletions
|
@ -79,9 +79,8 @@ struct empfile {
|
||||||
void (*prewrite)(int id, void *old, void *elt);
|
void (*prewrite)(int id, void *old, void *elt);
|
||||||
/*
|
/*
|
||||||
* Called after table size changed, with file type as argument.
|
* Called after table size changed, with file type as argument.
|
||||||
* Return -1 and set errno to make the operation fail.
|
|
||||||
*/
|
*/
|
||||||
int (*onresize)(int type);
|
void (*onresize)(int type);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct emptypedstr {
|
struct emptypedstr {
|
||||||
|
|
|
@ -52,7 +52,7 @@ extern int unit_cargo_first(int, int, int);
|
||||||
extern int unit_cargo_next(int, int);
|
extern int unit_cargo_next(int, int);
|
||||||
extern int unit_cargo_count(int, int, int);
|
extern int unit_cargo_count(int, int, int);
|
||||||
extern int unit_nplane(int, int, int *, int *, int *);
|
extern int unit_nplane(int, int, int *, int *, int *);
|
||||||
extern int unit_onresize(int);
|
extern void unit_onresize(int);
|
||||||
|
|
||||||
extern void unit_list(struct emp_qelem *);
|
extern void unit_list(struct emp_qelem *);
|
||||||
extern void unit_put(struct emp_qelem *list, natid actor);
|
extern void unit_put(struct emp_qelem *list, natid actor);
|
||||||
|
|
|
@ -276,14 +276,14 @@ unit_cargo_init(void)
|
||||||
* Return 0 on success, -1 on error.
|
* Return 0 on success, -1 on error.
|
||||||
* This is the struct empfile onresize callback for units.
|
* This is the struct empfile onresize callback for units.
|
||||||
*/
|
*/
|
||||||
int
|
void
|
||||||
unit_onresize(int type)
|
unit_onresize(int type)
|
||||||
{
|
{
|
||||||
int n, i;
|
int n, i;
|
||||||
struct clink *cl;
|
struct clink *cl;
|
||||||
|
|
||||||
if (CANT_HAPPEN(type < EF_SHIP || type > EF_NUKE))
|
if (CANT_HAPPEN(type < EF_SHIP || type > EF_NUKE))
|
||||||
return -1;
|
return;
|
||||||
|
|
||||||
n = ef_nelem(type);
|
n = ef_nelem(type);
|
||||||
cl = realloc(clink[type], n * sizeof(*clink[type]));
|
cl = realloc(clink[type], n * sizeof(*clink[type]));
|
||||||
|
@ -295,7 +295,6 @@ unit_onresize(int type)
|
||||||
nclink[type] = n;
|
nclink[type] = n;
|
||||||
if (ef_flags(type) & EFF_MEM)
|
if (ef_flags(type) & EFF_MEM)
|
||||||
clink_check(type);
|
clink_check(type);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -150,8 +150,8 @@ ef_open(int type, int how, int nelt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ep->onresize && ep->onresize(type) < 0)
|
if (ep->onresize)
|
||||||
return 0;
|
ep->onresize(type);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -275,8 +275,8 @@ ef_close(int type)
|
||||||
}
|
}
|
||||||
ep->flags &= EFF_IMMUTABLE;
|
ep->flags &= EFF_IMMUTABLE;
|
||||||
ep->baseid = ep->cids = ep->fids = 0;
|
ep->baseid = ep->cids = ep->fids = 0;
|
||||||
if (ep->onresize && ep->onresize(type) < 0)
|
if (ep->onresize)
|
||||||
retval = 0;
|
ep->onresize(type);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -523,8 +523,8 @@ ef_write(int type, int id, void *from)
|
||||||
if (id >= ep->fids) {
|
if (id >= ep->fids) {
|
||||||
/* write beyond end of file extends it, take note */
|
/* write beyond end of file extends it, take note */
|
||||||
ep->fids = id + 1;
|
ep->fids = id + 1;
|
||||||
if (ep->onresize && ep->onresize(type) < 0)
|
if (ep->onresize)
|
||||||
return 0;
|
ep->onresize(type);
|
||||||
}
|
}
|
||||||
if (id >= ep->baseid && id < ep->baseid + ep->cids) {
|
if (id >= ep->baseid && id < ep->baseid + ep->cids) {
|
||||||
cachep = ep->cache + (id - ep->baseid) * ep->size;
|
cachep = ep->cache + (id - ep->baseid) * ep->size;
|
||||||
|
@ -708,8 +708,8 @@ ef_extend(int type, int count)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ep->fids = id + count;
|
ep->fids = id + count;
|
||||||
if (ep->onresize && ep->onresize(type) < 0)
|
if (ep->onresize)
|
||||||
return 0;
|
ep->onresize(type);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -801,8 +801,8 @@ ef_truncate(int type, int count)
|
||||||
ep->cids = count - ep->baseid;
|
ep->cids = count - ep->baseid;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ep->onresize && ep->onresize(type) < 0)
|
if (ep->onresize)
|
||||||
return 0;
|
ep->onresize(type);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ struct fileinit {
|
||||||
void (*oninit)(void *);
|
void (*oninit)(void *);
|
||||||
void (*postread)(int, void *);
|
void (*postread)(int, void *);
|
||||||
void (*prewrite)(int, void *, void *);
|
void (*prewrite)(int, void *, void *);
|
||||||
int (*onresize)(int);
|
void (*onresize)(int);
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct fileinit fileinit[] = {
|
static struct fileinit fileinit[] = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue