svn commit: r267701 - stable/10/usr.bin/patch
Pedro F. Giffuni
pfg at FreeBSD.org
Sat Jun 21 01:48:47 UTC 2014
Author: pfg
Date: Sat Jun 21 01:48:45 2014
New Revision: 267701
URL: http://svnweb.freebsd.org/changeset/base/267701
Log:
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"
Modified:
stable/10/usr.bin/patch/patch.1
stable/10/usr.bin/patch/pch.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/usr.bin/patch/patch.1
==============================================================================
--- stable/10/usr.bin/patch/patch.1 Sat Jun 21 01:43:56 2014 (r267700)
+++ stable/10/usr.bin/patch/patch.1 Sat Jun 21 01:48:45 2014 (r267701)
@@ -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
Modified: stable/10/usr.bin/patch/pch.c
==============================================================================
--- stable/10/usr.bin/patch/pch.c Sat Jun 21 01:43:56 2014 (r267700)
+++ stable/10/usr.bin/patch/pch.c Sat Jun 21 01:48:45 2014 (r267701)
@@ -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;
More information about the svn-src-stable-10
mailing list