forked from github/server
deprecate unused at_cursewall.
This commit is contained in:
parent
6d1fe2842a
commit
faefaf2523
|
@ -28,46 +28,15 @@ typedef struct wallcurse {
|
||||||
connection *wall;
|
connection *wall;
|
||||||
} wallcurse;
|
} wallcurse;
|
||||||
|
|
||||||
static void cw_init(attrib * a)
|
static int cw_read_depr(attrib * a, void *target, gamedata *data)
|
||||||
{
|
|
||||||
curse *c;
|
|
||||||
curse_init(a);
|
|
||||||
c = (curse *)a->data.v;
|
|
||||||
c->data.v = calloc(sizeof(wallcurse), 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void cw_write(const attrib * a, const void *target, storage * store)
|
|
||||||
{
|
|
||||||
connection *b = ((wallcurse *)((curse *)a->data.v)->data.v)->wall;
|
|
||||||
curse_write(a, target, store);
|
|
||||||
WRITE_INT(store, b->id);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct bresolve {
|
|
||||||
int id;
|
|
||||||
curse *self;
|
|
||||||
} bresolve;
|
|
||||||
|
|
||||||
static int resolve_buddy(variant data, void *addr);
|
|
||||||
|
|
||||||
static int cw_read(attrib * a, void *target, gamedata *data)
|
|
||||||
{
|
{
|
||||||
storage *store = data->store;
|
storage *store = data->store;
|
||||||
bresolve *br = calloc(sizeof(bresolve), 1);
|
|
||||||
curse *c = (curse *)a->data.v;
|
|
||||||
wallcurse *wc = (wallcurse *)c->data.v;
|
|
||||||
variant var;
|
|
||||||
|
|
||||||
|
curse_init(a);
|
||||||
curse_read(a, store, target);
|
curse_read(a, store, target);
|
||||||
br->self = c;
|
curse_done(a);
|
||||||
READ_INT(store, &br->id);
|
READ_INT(store, NULL);
|
||||||
|
return AT_READ_DEPR;
|
||||||
var.i = br->id;
|
|
||||||
ur_add(var, &wc->wall, resolve_borderid);
|
|
||||||
|
|
||||||
var.v = br;
|
|
||||||
ur_add(var, &wc->buddy, resolve_buddy);
|
|
||||||
return AT_READ_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
|
@ -105,61 +74,6 @@ const curse_type ct_firewall = {
|
||||||
wall_vigour /* change_vigour */
|
wall_vigour /* change_vigour */
|
||||||
};
|
};
|
||||||
|
|
||||||
static attrib_type at_cursewall = {
|
|
||||||
"cursewall",
|
|
||||||
cw_init,
|
|
||||||
curse_done,
|
|
||||||
curse_age,
|
|
||||||
cw_write,
|
|
||||||
cw_read,
|
|
||||||
NULL,
|
|
||||||
ATF_CURSE
|
|
||||||
};
|
|
||||||
|
|
||||||
static int resolve_buddy(variant data, void *addr)
|
|
||||||
{
|
|
||||||
curse *result = NULL;
|
|
||||||
bresolve *br = (bresolve *)data.v;
|
|
||||||
connection *b;
|
|
||||||
|
|
||||||
assert(br->id > 0);
|
|
||||||
b = find_border(br->id);
|
|
||||||
|
|
||||||
if (b && b->from && b->to) {
|
|
||||||
attrib *a = a_find(b->from->attribs, &at_cursewall);
|
|
||||||
while (a && a->data.v != br->self) {
|
|
||||||
curse *c = (curse *)a->data.v;
|
|
||||||
wallcurse *wc = (wallcurse *)c->data.v;
|
|
||||||
if (wc->wall->id == br->id)
|
|
||||||
break;
|
|
||||||
a = a->next;
|
|
||||||
}
|
|
||||||
if (!a || a->type != &at_cursewall) {
|
|
||||||
a = a_find(b->to->attribs, &at_cursewall);
|
|
||||||
while (a && a->type == &at_cursewall && a->data.v != br->self) {
|
|
||||||
curse *c = (curse *)a->data.v;
|
|
||||||
wallcurse *wc = (wallcurse *)c->data.v;
|
|
||||||
if (wc->wall->id == br->id)
|
|
||||||
break;
|
|
||||||
a = a->next;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (a && a->type == &at_cursewall) {
|
|
||||||
curse *c = (curse *)a->data.v;
|
|
||||||
free(br);
|
|
||||||
result = c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
/* fail, object does not exist (but if you're still loading then
|
|
||||||
* you may want to try again later) */
|
|
||||||
*(curse **)addr = NULL;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
*(curse **)addr = result;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void wall_init(connection * b)
|
static void wall_init(connection * b)
|
||||||
{
|
{
|
||||||
wall_data *fd = (wall_data *)calloc(sizeof(wall_data), 1);
|
wall_data *fd = (wall_data *)calloc(sizeof(wall_data), 1);
|
||||||
|
@ -287,7 +201,7 @@ border_type bt_wisps = { /* only here for reading old data */
|
||||||
void register_borders(void)
|
void register_borders(void)
|
||||||
{
|
{
|
||||||
border_convert_cb = &convert_firewall_timeouts;
|
border_convert_cb = &convert_firewall_timeouts;
|
||||||
at_register(&at_cursewall);
|
at_deprecate("cursewall", cw_read_depr);
|
||||||
|
|
||||||
register_bordertype(&bt_firewall);
|
register_bordertype(&bt_firewall);
|
||||||
register_bordertype(&bt_wisps);
|
register_bordertype(&bt_wisps);
|
||||||
|
|
Loading…
Reference in New Issue