diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2014-12-18 21:26:14 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2014-12-18 21:26:14 +0200 |
commit | 06cd783a8994b704c066aa59e11a6e76292d806e (patch) | |
tree | 335a4731980ed21d3e67a872a81e065350a0b345 | |
parent | 6e786e9ea47966a9cac7cfef4a4079ac379580b0 (diff) | |
download | egawk-06cd783a8994b704c066aa59e11a6e76292d806e.tar.gz egawk-06cd783a8994b704c066aa59e11a6e76292d806e.tar.bz2 egawk-06cd783a8994b704c066aa59e11a6e76292d806e.zip |
More removal of extra unused byte.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | builtin.c | 4 | ||||
-rw-r--r-- | helpers/ChangeLog | 4 | ||||
-rw-r--r-- | helpers/testdfa.c | 4 | ||||
-rw-r--r-- | old-extension/ChangeLog | 5 | ||||
-rw-r--r-- | old-extension/bindarr.c | 2 | ||||
-rw-r--r-- | old-extension/fileop.c | 2 |
7 files changed, 19 insertions, 6 deletions
@@ -1,3 +1,7 @@ +2014-12-18 Arnold D. Robbins <arnold@skeeve.com> + + * builtin.c (do_sub): Do not waste a byte at the end of a string. + 2014-12-14 Arnold D. Robbins <arnold@skeeve.com> * awkgram.y (yyerror): Do not waste a byte at the end of a string. @@ -2874,8 +2874,8 @@ set_how_many: lastmatchnonzero = false; - /* guesstimate how much room to allocate; +2 forces > 0 */ - buflen = textlen + (ampersands + 1) * repllen + 2; + /* guesstimate how much room to allocate; +1 forces > 0 */ + buflen = textlen + (ampersands + 1) * repllen + 1; emalloc(buf, char *, buflen + 1, "do_sub"); buf[buflen] = '\0'; diff --git a/helpers/ChangeLog b/helpers/ChangeLog index a5bbafb1..2cb3be44 100644 --- a/helpers/ChangeLog +++ b/helpers/ChangeLog @@ -1,3 +1,7 @@ +2014-12-18 Arnold D. Robbins <arnold@skeeve.com> + + * testdfa.c (setup_pattern): Do not waste a byte at the end of a string. + 2014-09-04 Arnold D. Robbins <arnold@skeeve.com> * chlistref.awk: New file. Finds @ref{} to non-chapters. diff --git a/helpers/testdfa.c b/helpers/testdfa.c index 25a229a2..092a13d8 100644 --- a/helpers/testdfa.c +++ b/helpers/testdfa.c @@ -392,14 +392,14 @@ setup_pattern(const char *pattern, size_t *len) * from that. */ if (buf == NULL) { - buf = (char *) malloc(*len + 2); + buf = (char *) malloc(*len + 1); if (buf == NULL) { fprintf(stderr, "%s: malloc failed\n", __func__); exit(EXIT_FAILURE); } buflen = *len; } else if (*len > buflen) { - buf = (char *) realloc(buf, *len + 2); + buf = (char *) realloc(buf, *len + 1); if (buf == NULL) { fprintf(stderr, "%s: realloc failed\n", __func__); exit(EXIT_FAILURE); diff --git a/old-extension/ChangeLog b/old-extension/ChangeLog index 55c8d31d..51f44db4 100644 --- a/old-extension/ChangeLog +++ b/old-extension/ChangeLog @@ -1,3 +1,8 @@ +2014-12-18 Arnold D. Robbins <arnold@skeeve.com> + + * bindarr.c (do_bind_array): Do not waste a byte at the end of a string. + * fileop.c (do_fread): Ditto. + 2014-01-07 Arnold D. Robbins <arnold@skeeve.com> * dbarray.awk: Use full name for lib to load in extenstion() call. diff --git a/old-extension/bindarr.c b/old-extension/bindarr.c index 60959903..28da389a 100644 --- a/old-extension/bindarr.c +++ b/old-extension/bindarr.c @@ -235,7 +235,7 @@ do_bind_array(int nargs) } /* copy the array -- this is passed as the second argument to the functions */ - emalloc(aname, char *, strlen(t->vname) + 2, "do_bind_array"); + emalloc(aname, char *, strlen(t->vname) + 1, "do_bind_array"); aname[0] = '~'; /* any illegal character */ strcpy(& aname[1], symbol->vname); td = make_array(); diff --git a/old-extension/fileop.c b/old-extension/fileop.c index 86f62576..d76a7ded 100644 --- a/old-extension/fileop.c +++ b/old-extension/fileop.c @@ -55,7 +55,7 @@ do_fread(int nargs) force_number(arg); rlen = get_number_ui(arg); - emalloc(rbuf, char *, rlen + 2, "do_fread"); + emalloc(rbuf, char *, rlen + 1, "do_fread"); if ((count = fread(rbuf, 1, rlen, f->fp)) < rlen) { if (! feof(f->fp)) update_ERRNO_int(errno); |