xchar e_type;
{
struct engr *ep;
+ unsigned smem = strlen(s) + 1;
if ((ep = engr_at(x, y)) != 0)
del_engr(ep);
- ep = newengr(strlen(s) + 1);
- (void) memset((genericptr_t)ep, 0, sizeof(struct engr));
+ ep = newengr(smem);
+ (void) memset((genericptr_t)ep, 0, smem + sizeof(struct engr));
ep->nxt_engr = head_engr;
head_engr = ep;
ep->engr_x = x;
exercise(A_WIS, TRUE);
ep->engr_time = e_time;
ep->engr_type = e_type > 0 ? e_type : rnd(N_ENGRAVE - 1);
- ep->engr_lth = strlen(s) + 1;
+ ep->engr_lth = smem;
}
/* delete any engraving at location <x,y> */
NhRegion *reg;
reg = (NhRegion *) alloc(sizeof(NhRegion));
+ (void) memset((genericptr_t)reg, 0, sizeof(NhRegion));
/* Determines bounding box */
if (nrect > 0) {
reg->bounding_box = rects[0];
return;
}
tmp_dam = (struct damage *) alloc((unsigned) sizeof(struct damage));
+ (void) memset((genericptr_t)tmp_dam, 0, sizeof(struct damage));
tmp_dam->when = monstermoves;
tmp_dam->place.x = x;
tmp_dam->place.y = y;