version 1.20, 2001/11/21 15:26:39 |
version 1.21, 2001/12/18 16:55:06 |
|
|
void |
void |
makemessage(FILE *f, int omsgCount) |
makemessage(FILE *f, int omsgCount) |
{ |
{ |
size_t size = (msgCount + 1) * sizeof(struct message); |
size_t size; |
|
struct message *nmessage; |
|
|
if (omsgCount) { |
size = (msgCount + 1) * sizeof(struct message); |
message = (struct message *)realloc(message, size); |
nmessage = (struct message *)realloc(message, size); |
if (message == 0) |
if (nmessage == 0) |
errx(1, "Insufficient memory for %d messages\n", |
errx(1, "Insufficient memory for %d messages\n", |
msgCount); |
msgCount); |
} else { |
if (omsgCount == 0 || message == NULL) |
if (message != 0) |
dot = nmessage; |
(void)free(message); |
else |
if ((message = (struct message *)malloc(size)) == NULL) |
dot = nmessage + (dot - message); |
errx(1, "Insufficient memory for %d messages", |
message = nmessage; |
msgCount); |
|
dot = message; |
|
} |
|
size -= (omsgCount + 1) * sizeof(struct message); |
size -= (omsgCount + 1) * sizeof(struct message); |
fflush(f); |
fflush(f); |
(void)lseek(fileno(f), (off_t)sizeof(*message), 0); |
(void)lseek(fileno(f), (off_t)sizeof(*message), 0); |