(re)allocate space for svd.doors array */
| 553 | |
| 554 | /* (re)allocate space for svd.doors array */ |
| 555 | staticfn void |
| 556 | alloc_doors(void) |
| 557 | { |
| 558 | if (!svd.doors || gd.doorindex >= svd.doors_alloc) { |
| 559 | int c = svd.doors_alloc + DOORINC; |
| 560 | coord *doortmp = (coord *) alloc(c * sizeof (coord)); |
| 561 | |
| 562 | (void) memset((genericptr_t) doortmp, 0, c * sizeof (coord)); |
| 563 | if (svd.doors) { |
| 564 | (void) memcpy(doortmp, svd.doors, |
| 565 | svd.doors_alloc * sizeof (coord)); |
| 566 | free(svd.doors); |
| 567 | } |
| 568 | svd.doors = doortmp; |
| 569 | svd.doors_alloc = c; |
| 570 | } |
| 571 | } |
| 572 | |
| 573 | void |
| 574 | add_door(coordxy x, coordxy y, struct mkroom *aroom) |