From c55956b6a10d0a4d0b151c1be976dc9c344c1103 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 14 Dec 2014 20:38:14 +0200 Subject: More fixes to stop allocating an extra byte. --- debug.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'debug.c') diff --git a/debug.c b/debug.c index 58012b72..c2f11355 100644 --- a/debug.c +++ b/debug.c @@ -4205,10 +4205,10 @@ gprintf(FILE *fp, const char *format, ...) #define GPRINTF_BUFSIZ 512 if (buf == NULL) { buflen = GPRINTF_BUFSIZ; - emalloc(buf, char *, (buflen + 2) * sizeof(char), "gprintf"); + emalloc(buf, char *, (buflen + 1) * sizeof(char), "gprintf"); } else if (buflen - bl < GPRINTF_BUFSIZ/2) { buflen += GPRINTF_BUFSIZ; - erealloc(buf, char *, (buflen + 2) * sizeof(char), "gprintf"); + erealloc(buf, char *, (buflen + 1) * sizeof(char), "gprintf"); } #undef GPRINTF_BUFSIZ @@ -4227,7 +4227,7 @@ gprintf(FILE *fp, const char *format, ...) /* enlarge buffer, and try again */ buflen *= 2; - erealloc(buf, char *, (buflen + 2) * sizeof(char), "gprintf"); + erealloc(buf, char *, (buflen + 1) * sizeof(char), "gprintf"); } bl = 0; @@ -4356,7 +4356,7 @@ serialize(int type) if (buf == NULL) { /* first time */ buflen = SERIALIZE_BUFSIZ; - emalloc(buf, char *, buflen + 2, "serialize"); + emalloc(buf, char *, buflen + 1, "serialize"); } bl = 0; @@ -4365,7 +4365,7 @@ serialize(int type) if (buflen - bl < SERIALIZE_BUFSIZ/2) { enlarge_buffer: buflen *= 2; - erealloc(buf, char *, buflen + 2, "serialize"); + erealloc(buf, char *, buflen + 1, "serialize"); } #undef SERIALIZE_BUFSIZ @@ -4466,7 +4466,7 @@ enlarge_buffer: } if (nchar > 0) { /* non-empty commands list */ - nchar += (strlen("commands ") + 20 + strlen("end") + 2); /* 20 for cnum (an int) */ + nchar += (strlen("commands ") + 20 + strlen("end") + 1); /* 20 for cnum (an int) */ if (nchar > buflen - bl) { buflen = bl + nchar; erealloc(buf, char *, buflen + 3, "serialize"); -- cgit v1.2.3 From 24ddf2742b0034089bce38e5f4ebd99b93c6e161 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 9 Apr 2015 18:04:18 +0300 Subject: Further fixes from Andrew Schorr. --- debug.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'debug.c') diff --git a/debug.c b/debug.c index c2f11355..6aaba099 100644 --- a/debug.c +++ b/debug.c @@ -4205,10 +4205,10 @@ gprintf(FILE *fp, const char *format, ...) #define GPRINTF_BUFSIZ 512 if (buf == NULL) { buflen = GPRINTF_BUFSIZ; - emalloc(buf, char *, (buflen + 1) * sizeof(char), "gprintf"); + emalloc(buf, char *, buflen * sizeof(char), "gprintf"); } else if (buflen - bl < GPRINTF_BUFSIZ/2) { buflen += GPRINTF_BUFSIZ; - erealloc(buf, char *, (buflen + 1) * sizeof(char), "gprintf"); + erealloc(buf, char *, buflen * sizeof(char), "gprintf"); } #undef GPRINTF_BUFSIZ @@ -4227,7 +4227,7 @@ gprintf(FILE *fp, const char *format, ...) /* enlarge buffer, and try again */ buflen *= 2; - erealloc(buf, char *, (buflen + 1) * sizeof(char), "gprintf"); + erealloc(buf, char *, buflen * sizeof(char), "gprintf"); } bl = 0; @@ -4267,7 +4267,7 @@ gprintf(FILE *fp, const char *format, ...) static int serialize_subscript(char *buf, int buflen, struct list_item *item) { - int bl = 0, nchar, i; + int bl, nchar, i; NODE *sub; nchar = snprintf(buf, buflen, "%d%c%d%c%s%c%d%c", @@ -4277,7 +4277,7 @@ serialize_subscript(char *buf, int buflen, struct list_item *item) return 0; else if (nchar >= buflen) /* need larger buffer */ return nchar; - bl += nchar; + bl = nchar; for (i = 0; i < item->num_subs; i++) { sub = item->subs[i]; nchar = snprintf(buf + bl, buflen - bl, "%lu%c%s%c", -- cgit v1.2.3