MFC r267426, r267464:
Avoid zeroing during allocation. This change reverts a change from OpenBSD which made use of calloc, and therefore wasted time initializing arrays that will later be realloc'ed. Consistently use FreeBSD's reallocf(): - Drop some bogus casts to size_t. - The new_p_foo variables are not needed anymore. Also merge the changes from OpenBSD's manpage patch.1 Rev 1.27: "patch was moved from user portability (UP) to base in issue 7 and is no longer optional"
This commit is contained in:
parent
a63ff939c2
commit
56eadad6c5
@ -19,9 +19,9 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $OpenBSD: patch.1,v 1.26 2010/09/03 11:09:29 jmc Exp $
|
||||
.\" $OpenBSD: patch.1,v 1.27 2014/04/15 06:26:54 jmc Exp $
|
||||
.\" $FreeBSD$
|
||||
.Dd January 29, 2013
|
||||
.Dd June 12, 2014
|
||||
.Dt PATCH 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -639,13 +639,10 @@ The
|
||||
.Nm
|
||||
utility is compliant with the
|
||||
.St -p1003.1-2008
|
||||
specification
|
||||
(except as detailed above for the
|
||||
specification,
|
||||
except as detailed above for the
|
||||
.Fl -posix
|
||||
option),
|
||||
though the presence of
|
||||
.Nm
|
||||
itself is optional.
|
||||
option.
|
||||
.Pp
|
||||
The flags
|
||||
.Op Fl BCEFfstVvxz
|
||||
|
@ -132,11 +132,11 @@ void
|
||||
set_hunkmax(void)
|
||||
{
|
||||
if (p_line == NULL)
|
||||
p_line = calloc((size_t) hunkmax, sizeof(char *));
|
||||
p_line = malloc(hunkmax * sizeof(char *));
|
||||
if (p_len == NULL)
|
||||
p_len = calloc((size_t) hunkmax, sizeof(short));
|
||||
p_len = malloc(hunkmax * sizeof(short));
|
||||
if (p_char == NULL)
|
||||
p_char = calloc((size_t) hunkmax, sizeof(char));
|
||||
p_char = malloc(hunkmax * sizeof(char));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -145,31 +145,14 @@ set_hunkmax(void)
|
||||
static void
|
||||
grow_hunkmax(void)
|
||||
{
|
||||
int new_hunkmax;
|
||||
char **new_p_line;
|
||||
short *new_p_len;
|
||||
char *new_p_char;
|
||||
|
||||
new_hunkmax = hunkmax * 2;
|
||||
int new_hunkmax = hunkmax * 2;
|
||||
|
||||
if (p_line == NULL || p_len == NULL || p_char == NULL)
|
||||
fatal("Internal memory allocation error\n");
|
||||
|
||||
new_p_line = realloc(p_line, new_hunkmax * sizeof(char *));
|
||||
if (new_p_line == NULL)
|
||||
free(p_line);
|
||||
|
||||
new_p_len = realloc(p_len, new_hunkmax * sizeof(short));
|
||||
if (new_p_len == NULL)
|
||||
free(p_len);
|
||||
|
||||
new_p_char = realloc(p_char, new_hunkmax * sizeof(char));
|
||||
if (new_p_char == NULL)
|
||||
free(p_char);
|
||||
|
||||
p_char = new_p_char;
|
||||
p_len = new_p_len;
|
||||
p_line = new_p_line;
|
||||
p_line = reallocf(p_line, new_hunkmax * sizeof(char *));
|
||||
p_len = reallocf(p_len, new_hunkmax * sizeof(short));
|
||||
p_char = reallocf(p_char, new_hunkmax * sizeof(char));
|
||||
|
||||
if (p_line != NULL && p_len != NULL && p_char != NULL) {
|
||||
hunkmax = new_hunkmax;
|
||||
|
Loading…
Reference in New Issue
Block a user