diff --git a/include/extern.h b/include/extern.h index 4e0c9169a..c4f7d9331 100644 --- a/include/extern.h +++ b/include/extern.h @@ -2299,12 +2299,12 @@ extern void closelog(NHFILE *); /* ### sfstruct.c ### */ #ifndef TRACEBUFFERING -extern void newread(NHFILE *, int, int, genericptr_t, unsigned int); +extern void newread(NHFILE *, int, int, genericptr_t, unsigned); extern void bufon(int); extern void bufoff(int); extern void bflush(int); -extern void bwrite(int, genericptr_t, unsigned int); -extern void mread(int, genericptr_t, unsigned int); +extern void bwrite(int, const genericptr_t, unsigned); +extern void mread(int, genericptr_t, unsigned); extern void minit(void); extern void bclose(int); #else @@ -2319,11 +2319,11 @@ extern void bclose(int); extern void Bufon(int, const char *, int); extern void Bufoff(int, const char *, int); extern void Bflush(int, const char *, int); -extern void Bwrite(int, genericptr_t, unsigned int, const char *, int); -extern void Bread(int, genericptr_t, unsigned int, const char *, int); +extern void Bwrite(int, const genericptr_t, unsigned, const char *, int); +extern void Bread(int, genericptr_t, unsigned, const char *, int); extern void Binit(const char *, int); extern void Bclose(int, const char *, int); -extern void Mread(int, genericptr_t, unsigned int, const char *, int); +extern void Mread(int, genericptr_t, unsigned, const char *, int); extern void Minit(const char *, int); #if defined(ZEROCOMP) extern void zerocomp_bclose(int); diff --git a/include/region.h b/include/region.h index df558d2fe..b52baa641 100644 --- a/include/region.h +++ b/include/region.h @@ -30,37 +30,36 @@ typedef boolean (*callback_proc)(genericptr_t, genericptr_t); */ typedef struct { - NhRect bounding_box; /* Bounding box of the region */ - NhRect *rects; /* Rectangles composing the region */ - short nrects; /* Number of rectangles */ - boolean attach_2_u; /* Region attached to player ? */ - unsigned int attach_2_m; /* Region attached to monster ? */ + NhRect bounding_box; /* Bounding box of the region */ + NhRect *rects; /* Rectangles composing the region */ + short nrects; /* Number of rectangles */ + boolean attach_2_u; /* Region attached to player ? */ + unsigned attach_2_m; /* Region attached to monster ? */ /*struct obj *attach_2_o;*/ /* Region attached to object ? UNUSED YET */ - const char *enter_msg; /* Message when entering */ - const char *leave_msg; /* Message when leaving */ - long ttl; /* Time to live. -1 is forever */ - short expire_f; /* Function to call when region's ttl expire */ - short can_enter_f; /* Function to call to check whether the player - can, or can not, enter the region */ - short enter_f; /* Function to call when the player enters*/ - short can_leave_f; /* Function to call to check whether the player - can, or can not, leave the region */ - short leave_f; /* Function to call when the player leaves */ - short inside_f; /* Function to call every turn if player's - inside */ - unsigned int player_flags; /* (see above) */ - unsigned int *monsters; /* Monsters currently inside this region */ - short n_monst; /* Number of monsters inside this region */ - short max_monst; /* Maximum number of monsters that can be - listed without having to grow the array */ + const char *enter_msg; /* Message when entering */ + const char *leave_msg; /* Message when leaving */ + long ttl; /* Time to live. -1 is forever */ + short expire_f; /* Function to call when region's ttl expire */ + short can_enter_f; /* Function to call to check whether the player + * can, or can not, enter the region */ + short enter_f; /* Function to call when the player enters*/ + short can_leave_f; /* Function to call to check whether the player + * can, or can not, leave the region */ + short leave_f; /* Function to call when the player leaves */ + short inside_f; /* Function to call every turn if player's inside */ + unsigned player_flags; /* (see above) */ + unsigned *monsters; /* Monsters currently inside this region */ + short n_monst; /* Number of monsters inside this region */ + short max_monst; /* Maximum number of monsters that can be + * listed without having to grow the array */ #define MONST_INC 5 /* Should probably do the same thing about objects */ - boolean visible; /* Is the region visible ? */ - int glyph; /* Which glyph to use if visible */ - anything arg; /* Optional user argument (Ex: strength of - force field, damage of a fire zone, ...*/ + boolean visible; /* Is the region visible ? */ + int glyph; /* Which glyph to use if visible */ + anything arg; /* Optional user argument (Ex: strength of + * force field, damage of a fire zone, ...*/ } NhRegion; #endif /* REGION_H */ diff --git a/src/region.c b/src/region.c index b7c5e7379..fbf5572bb 100644 --- a/src/region.c +++ b/src/region.c @@ -49,7 +49,7 @@ static const callback_proc callbacks[] = { /* Should be inlined. */ boolean -inside_rect(NhRect* r, int x, int y) +inside_rect(NhRect *r, int x, int y) { return (boolean) (x >= r->lx && x <= r->hx && y >= r->ly && y <= r->hy); } @@ -58,7 +58,7 @@ inside_rect(NhRect* r, int x, int y) * Check if a point is inside a region. */ boolean -inside_region(NhRegion* reg, int x, int y) +inside_region(NhRegion *reg, int x, int y) { int i; @@ -74,7 +74,7 @@ inside_region(NhRegion* reg, int x, int y) * Create a region. It does not activate it. */ NhRegion * -create_region(NhRect* rects, int nrect) +create_region(NhRect *rects, int nrect) { int i; NhRegion *reg; @@ -119,7 +119,7 @@ create_region(NhRect* rects, int nrect) clear_heros_fault(reg); reg->n_monst = 0; reg->max_monst = 0; - reg->monsters = (unsigned int *) 0; + reg->monsters = (unsigned *) 0; reg->arg = cg.zeroany; return reg; } @@ -128,7 +128,7 @@ create_region(NhRect* rects, int nrect) * Add rectangle to region. */ void -add_rect_to_reg(NhRegion* reg, NhRect* rect) +add_rect_to_reg(NhRegion *reg, NhRect *rect) { NhRect *tmp_rect; @@ -156,7 +156,7 @@ add_rect_to_reg(NhRegion* reg, NhRect* rect) * Add a monster to the region */ void -add_mon_to_reg(NhRegion* reg, struct monst* mon) +add_mon_to_reg(NhRegion *reg, struct monst *mon) { int i; unsigned *tmp_m; @@ -179,7 +179,7 @@ add_mon_to_reg(NhRegion* reg, struct monst* mon) * Remove a monster from the region list (it left or died...) */ void -remove_mon_from_reg(NhRegion* reg, struct monst* mon) +remove_mon_from_reg(NhRegion *reg, struct monst *mon) { register int i; @@ -197,7 +197,7 @@ remove_mon_from_reg(NhRegion* reg, struct monst* mon) * than to check for coordinates. */ boolean -mon_in_region(NhRegion* reg, struct monst* mon) +mon_in_region(NhRegion *reg, struct monst *mon) { int i; @@ -214,10 +214,11 @@ mon_in_region(NhRegion* reg, struct monst* mon) * Clone (make a standalone copy) the region. */ NhRegion * -clone_region(reg) -NhRegion *reg; +clone_region(NhRegion *reg) { NhRegion *ret_reg; + unsigned *m_id_list; + short i; ret_reg = create_region(reg->rects, reg->nrects); ret_reg->ttl = reg->ttl; @@ -231,14 +232,14 @@ NhRegion *reg; ret_reg->can_leave_f = reg->can_leave_f; ret_reg->player_flags = reg->player_flags; /* set/clear_hero_inside,&c*/ ret_reg->n_monst = reg->n_monst; - if (reg->n_monst > 0) { - ret_reg->monsters = (unsigned int *) - alloc((sizeof (unsigned)) * reg->n_monst); - (void) memcpy((genericptr_t) ret_reg->monsters, - (genericptr_t) reg->monsters, - sizeof (unsigned) * reg->n_monst); + ret_reg->max_monst = reg->max_monst; + if (reg->max_monst > 0) { + m_id_list = (unsigned *) alloc(reg->max_monst * sizeof (unsigned)); + for (i = 0; i < reg->max_monst; ++i) + m_id_list[i] = reg->monsters[i]; } else - ret_reg->monsters = (unsigned int *) 0; + m_id_list = (unsigned *) 0; + ret_reg->monsters = m_id_list; return ret_reg; } @@ -248,7 +249,7 @@ NhRegion *reg; * Free mem from region. */ void -free_region(NhRegion* reg) +free_region(NhRegion *reg) { if (reg) { if (reg->rects) @@ -268,7 +269,7 @@ free_region(NhRegion* reg) * This actually activates the region. */ void -add_region(NhRegion* reg) +add_region(NhRegion *reg) { NhRegion **tmp_reg; int i, j; @@ -311,7 +312,7 @@ add_region(NhRegion* reg) * Remove a region from the list & free it. */ void -remove_region(NhRegion* reg) +remove_region(NhRegion *reg) { register int i, x, y; @@ -465,7 +466,7 @@ in_out_region(xchar x, xchar y) * check whether a monster enters/leaves one or more regions. */ boolean -m_in_out_region(struct monst* mon, xchar x, xchar y) +m_in_out_region(struct monst *mon, xchar x, xchar y) { int i, f_indx = 0; @@ -530,7 +531,7 @@ update_player_regions(void) * Ditto for a specified monster. */ void -update_monster_region(struct monst* mon) +update_monster_region(struct monst *mon) { register int i; @@ -570,7 +571,7 @@ struct monst *monold, *monnew; * Remove monster from all regions it was in (ie monster just died) */ void -remove_mon_from_regions(struct monst* mon) +remove_mon_from_regions(struct monst *mon) { register int i; @@ -600,7 +601,7 @@ visible_region_at(xchar x, xchar y) } void -show_region(NhRegion* reg, xchar x, xchar y) +show_region(NhRegion *reg, xchar x, xchar y) { show_glyph(x, y, reg->glyph); } @@ -609,8 +610,9 @@ show_region(NhRegion* reg, xchar x, xchar y) * save_regions : */ void -save_regions(NHFILE* nhfp) +save_regions(NHFILE *nhfp) { + NhRegion *r; int i, j; unsigned n; @@ -622,75 +624,56 @@ save_regions(NHFILE* nhfp) bwrite(nhfp->fd, (genericptr_t) &g.n_regions, sizeof (g.n_regions)); } for (i = 0; i < g.n_regions; i++) { + r = g.regions[i]; if (nhfp->structlevel) { - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->bounding_box, - sizeof (NhRect)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->nrects, - sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->bounding_box, sizeof (NhRect)); + bwrite(nhfp->fd, (genericptr_t) &r->nrects, sizeof (short)); } - for (j = 0; j < g.regions[i]->nrects; j++) { + for (j = 0; j < r->nrects; j++) { if (nhfp->structlevel) - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->rects[j], - sizeof (NhRect)); + bwrite(nhfp->fd, (genericptr_t) &r->rects[j], sizeof (NhRect)); } if (nhfp->structlevel) - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->attach_2_u, - sizeof (boolean)); - n = 0; - + bwrite(nhfp->fd, (genericptr_t) &r->attach_2_u, sizeof (boolean)); if (nhfp->structlevel) - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->attach_2_m, - sizeof (unsigned)); + bwrite(nhfp->fd, (genericptr_t) &r->attach_2_m, sizeof (unsigned)); - n = !g.regions[i]->enter_msg ? 0 : strlen(g.regions[i]->enter_msg); + n = !r->enter_msg ? 0U : (unsigned) strlen(r->enter_msg); if (nhfp->structlevel) bwrite(nhfp->fd, (genericptr_t) &n, sizeof n); - if (n > 0) { if (nhfp->structlevel) - bwrite(nhfp->fd, (genericptr_t) g.regions[i]->enter_msg, n); + bwrite(nhfp->fd, (genericptr_t) r->enter_msg, n); } - n = !g.regions[i]->leave_msg ? 0 : strlen(g.regions[i]->leave_msg); + n = !r->leave_msg ? 0U : (unsigned) strlen(r->leave_msg); if (nhfp->structlevel) bwrite(nhfp->fd, (genericptr_t) &n, sizeof n); - if (n > 0) { if (nhfp->structlevel) { - bwrite(nhfp->fd, (genericptr_t) g.regions[i]->leave_msg, n); + bwrite(nhfp->fd, (genericptr_t) r->leave_msg, n); } } if (nhfp->structlevel) { - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->ttl, - sizeof (long)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->expire_f, - sizeof (short)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->can_enter_f, - sizeof (short)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->enter_f, - sizeof (short)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->can_leave_f, - sizeof (short)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->leave_f, - sizeof (short)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->inside_f, - sizeof (short)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->player_flags, - sizeof (unsigned int)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->n_monst, - sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->ttl, sizeof (long)); + bwrite(nhfp->fd, (genericptr_t) &r->expire_f, sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->can_enter_f, sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->enter_f, sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->can_leave_f, sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->leave_f, sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->inside_f, sizeof (short)); + bwrite(nhfp->fd, (genericptr_t) &r->player_flags, + sizeof (unsigned)); + bwrite(nhfp->fd, (genericptr_t) &r->n_monst, sizeof (short)); } - for (j = 0; j < g.regions[i]->n_monst; j++) { + for (j = 0; j < r->n_monst; j++) { if (nhfp->structlevel) - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->monsters[j], + bwrite(nhfp->fd, (genericptr_t) &r->monsters[j], sizeof (unsigned)); } if (nhfp->structlevel) { - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->visible, - sizeof (boolean)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->glyph, - sizeof (int)); - bwrite(nhfp->fd, (genericptr_t) &g.regions[i]->arg, - sizeof (anything)); + bwrite(nhfp->fd, (genericptr_t) &r->visible, sizeof (boolean)); + bwrite(nhfp->fd, (genericptr_t) &r->glyph, sizeof (int)); + bwrite(nhfp->fd, (genericptr_t) &r->arg, sizeof (anything)); } } @@ -700,8 +683,9 @@ save_regions(NHFILE* nhfp) } void -rest_regions(NHFILE* nhfp) +rest_regions(NHFILE *nhfp) { + NhRegion *r; int i, j; unsigned n = 0; long tmstamp = 0L; @@ -723,26 +707,22 @@ rest_regions(NHFILE* nhfp) if (g.n_regions > 0) g.regions = (NhRegion **) alloc(sizeof (NhRegion *) * g.n_regions); for (i = 0; i < g.n_regions; i++) { - g.regions[i] = (NhRegion *) alloc(sizeof (NhRegion)); + r = g.regions[i] = (NhRegion *) alloc(sizeof (NhRegion)); if (nhfp->structlevel) { - mread(nhfp->fd, (genericptr_t) &g.regions[i]->bounding_box, - sizeof (NhRect)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->nrects, - sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->bounding_box, sizeof (NhRect)); + mread(nhfp->fd, (genericptr_t) &r->nrects, sizeof (short)); } - if (g.regions[i]->nrects > 0) - g.regions[i]->rects = (NhRect *) alloc( - sizeof (NhRect) * g.regions[i]->nrects); - for (j = 0; j < g.regions[i]->nrects; j++) { + if (r->nrects > 0) + r->rects = (NhRect *) alloc(r->nrects * sizeof (NhRect)); + else + r->rects = (NhRect *) 0; + for (j = 0; j < r->nrects; j++) { if (nhfp->structlevel) - mread(nhfp->fd, (genericptr_t) &g.regions[i]->rects[j], - sizeof (NhRect)); + mread(nhfp->fd, (genericptr_t) &r->rects[j], sizeof (NhRect)); } if (nhfp->structlevel) { - mread(nhfp->fd, (genericptr_t) &g.regions[i]->attach_2_u, - sizeof (boolean)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->attach_2_m, - sizeof (unsigned)); + mread(nhfp->fd, (genericptr_t) &r->attach_2_u, sizeof (boolean)); + mread(nhfp->fd, (genericptr_t) &r->attach_2_m, sizeof (unsigned)); } if (nhfp->structlevel) @@ -753,9 +733,9 @@ rest_regions(NHFILE* nhfp) mread(nhfp->fd, (genericptr_t) msg_buf, n); } msg_buf[n] = '\0'; - g.regions[i]->enter_msg = (const char *) msg_buf; } else - g.regions[i]->enter_msg = (const char *)0; + msg_buf = (char *) 0; + r->enter_msg = (const char *) msg_buf; if (nhfp->structlevel) mread(nhfp->fd, (genericptr_t) &n, sizeof n); @@ -765,66 +745,56 @@ rest_regions(NHFILE* nhfp) mread(nhfp->fd, (genericptr_t) msg_buf, n); } msg_buf[n] = '\0'; - g.regions[i]->leave_msg = (const char *) msg_buf; } else - g.regions[i]->leave_msg = (const char *)0; + msg_buf = (char *) 0; + r->leave_msg = (const char *) msg_buf; if (nhfp->structlevel) - mread(nhfp->fd, (genericptr_t) &g.regions[i]->ttl, sizeof (long)); + mread(nhfp->fd, (genericptr_t) &r->ttl, sizeof (long)); /* check for expired region */ - if (g.regions[i]->ttl >= 0L) - g.regions[i]->ttl = ((g.regions[i]->ttl > tmstamp) - ? g.regions[i]->ttl - tmstamp - : 0L); + if (r->ttl >= 0L) + r->ttl = (r->ttl > tmstamp) ? r->ttl - tmstamp : 0L; if (nhfp->structlevel) { - mread(nhfp->fd, (genericptr_t) &g.regions[i]->expire_f, - sizeof (short)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->can_enter_f, - sizeof (short)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->enter_f, - sizeof (short)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->can_leave_f, - sizeof (short)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->leave_f, - sizeof (short)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->inside_f, - sizeof (short)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->player_flags, - sizeof (unsigned int)); + mread(nhfp->fd, (genericptr_t) &r->expire_f, sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->can_enter_f, sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->enter_f, sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->can_leave_f, sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->leave_f, sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->inside_f, sizeof (short)); + mread(nhfp->fd, (genericptr_t) &r->player_flags, + sizeof (unsigned)); } if (ghostly) { /* settings pertained to old player */ - clear_hero_inside(g.regions[i]); - clear_heros_fault(g.regions[i]); + clear_hero_inside(r); + clear_heros_fault(r); } if (nhfp->structlevel) - mread(nhfp->fd, (genericptr_t) &g.regions[i]->n_monst, - sizeof (short)); - if (g.regions[i]->n_monst > 0) - g.regions[i]->monsters = (unsigned *) alloc( - sizeof (unsigned) * g.regions[i]->n_monst); + mread(nhfp->fd, (genericptr_t) &r->n_monst, sizeof (short)); + if (r->n_monst > 0) + r->monsters = (unsigned *) alloc(r->n_monst * sizeof (unsigned)); else - g.regions[i]->monsters = (unsigned int *)0; - g.regions[i]->max_monst = g.regions[i]->n_monst; - for (j = 0; j < g.regions[i]->n_monst; j++) { + r->monsters = (unsigned *) 0; + r->max_monst = r->n_monst; + for (j = 0; j < r->n_monst; j++) { if (nhfp->structlevel) - mread(nhfp->fd, (genericptr_t) &g.regions[i]->monsters[j], - sizeof (unsigned)); + mread(nhfp->fd, (genericptr_t) &r->monsters[j], + sizeof (unsigned)); } if (nhfp->structlevel) { - mread(nhfp->fd, (genericptr_t) &g.regions[i]->visible, - sizeof (boolean)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->glyph, sizeof (int)); - mread(nhfp->fd, (genericptr_t) &g.regions[i]->arg, - sizeof (anything)); + mread(nhfp->fd, (genericptr_t) &r->visible, sizeof (boolean)); + mread(nhfp->fd, (genericptr_t) &r->glyph, sizeof (int)); + mread(nhfp->fd, (genericptr_t) &r->arg, sizeof (anything)); } } /* remove expired regions, do not trigger the expire_f callback (yet!); also update monster lists if this data is coming from a bones file */ - for (i = g.n_regions - 1; i >= 0; i--) - if (g.regions[i]->ttl == 0L) - remove_region(g.regions[i]); - else if (ghostly && g.regions[i]->n_monst > 0) - reset_region_mids(g.regions[i]); + for (i = g.n_regions - 1; i >= 0; i--) { + r = g.regions[i]; + if (r->ttl == 0L) + remove_region(r); + else if (ghostly && r->n_monst > 0) + reset_region_mids(r); + } } DISABLE_WARNING_FORMAT_NONLITERAL @@ -860,7 +830,7 @@ RESTORE_WARNING_FORMAT_NONLITERAL /* update monster IDs for region being loaded from bones; `ghostly' implied */ static void -reset_region_mids(NhRegion* reg) +reset_region_mids(NhRegion *reg) { int i = 0, n = reg->n_monst; unsigned *mid_list = reg->monsters; @@ -889,7 +859,7 @@ reset_region_mids(NhRegion* reg) NhRegion * create_msg_region( xchar x, xchar y, xchar w, xchar h, - const char* msg_enter, const char* msg_leave) + const char *msg_enter, const char *msg_leave) { NhRect tmprect; NhRegion *reg = create_region((NhRect *) 0, 0); diff --git a/src/sfstruct.c b/src/sfstruct.c index 8c882c861..112d9c880 100644 --- a/src/sfstruct.c +++ b/src/sfstruct.c @@ -32,12 +32,12 @@ #ifdef minit #undef minit #endif -void newread(NHFILE *, int, int, genericptr_t, unsigned int); +void newread(NHFILE *, int, int, genericptr_t, unsigned); void bufon(int); void bufoff(int); void bflush(int); -void bwrite(int, genericptr_t, unsigned int); -void mread(int, genericptr_t, unsigned int); +void bwrite(int, const genericptr_t, unsigned); +void mread(int, genericptr_t, unsigned); void minit(void); void bclose(int); #endif /* TRACE_BUFFERING */ @@ -48,7 +48,7 @@ static int getidx(int, int); #endif struct restore_info restoreinfo = { - "externalcomp", 0, + "externalcomp", 0, }; #define MAXFD 5 @@ -197,7 +197,7 @@ bflush(int fd) } void -bwrite(register int fd, register genericptr_t loc, register unsigned num) +bwrite(int fd, const genericptr_t loc, unsigned num) { boolean failed; int idx = getidx(fd, NOFLG); @@ -237,9 +237,9 @@ minit(void) } void -mread(register int fd, register genericptr_t buf, register unsigned int len) +mread(int fd, genericptr_t buf, unsigned len) { - register int rlen; + int rlen; #if defined(BSD) || defined(ULTRIX) #define readLenType int #else /* e.g. SYSV, __TURBOC__ */ @@ -269,9 +269,12 @@ static FILE *tracefile; #define TFILE "trace-buffering.log" #define TRACE(xx) \ - tracefile = fopen(TFILE, "a"); \ - (void) fprintf(tracefile, "%s from %s:%d (%d)\n", __FUNCTION__, fncname, linenum, xx); \ - fclose(tracefile); + do { \ + tracefile = fopen(TFILE, "a"); \ + (void) fprintf(tracefile, "%s from %s:%d (%d)\n", \ + __FUNCTION__, fncname, linenum, xx); \ + fclose(tracefile); \ + } while (0) void Bufon(int fd, const char *fncname, int linenum) @@ -296,9 +299,9 @@ Bflush(int fd, const char* fncname, int linenum) void Bwrite( - register int fd, - register genericptr_t loc, - register unsigned num, + int fd, + const genericptr_t loc, + unsigned num, const char *fncname, int linenum) { @@ -322,9 +325,9 @@ Minit(const char*fncname, int linenum) void Mread( - register int fd, - register genericptr_t buf, - register unsigned int len, + int fd, + genericptr_t buf, + unsigned len, const char *fncname, int linenum) {