svn commit: r267426 - head/usr.bin/patch

Pedro F. Giffuni pfg at FreeBSD.org
Thu Jun 12 19:01:59 UTC 2014


Author: pfg
Date: Thu Jun 12 19:01:57 2014
New Revision: 267426
URL: http://svnweb.freebsd.org/changeset/base/267426

Log:
  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().
  
  While here 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"
  
  MFC after:	1 week

Modified:
  head/usr.bin/patch/patch.1
  head/usr.bin/patch/pch.c

Modified: head/usr.bin/patch/patch.1
==============================================================================
--- head/usr.bin/patch/patch.1	Thu Jun 12 18:59:25 2014	(r267425)
+++ head/usr.bin/patch/patch.1	Thu Jun 12 19:01:57 2014	(r267426)
@@ -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: head/usr.bin/patch/pch.c
==============================================================================
--- head/usr.bin/patch/pch.c	Thu Jun 12 18:59:25 2014	(r267425)
+++ head/usr.bin/patch/pch.c	Thu Jun 12 19:01:57 2014	(r267426)
@@ -132,11 +132,11 @@ void
 set_hunkmax(void)
 {
 	if (p_line == NULL)
-		p_line = calloc((size_t) hunkmax, sizeof(char *));
+		p_line = malloc((size_t) hunkmax * sizeof(char *));
 	if (p_len == NULL)
-		p_len = calloc((size_t) hunkmax, sizeof(short));
+		p_len = malloc((size_t) hunkmax * sizeof(short));
 	if (p_char == NULL)
-		p_char = calloc((size_t) hunkmax, sizeof(char));
+		p_char = malloc((size_t) hunkmax * sizeof(char));
 }
 
 /*
@@ -155,17 +155,9 @@ grow_hunkmax(void)
 	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);
+	new_p_line = reallocf(p_line, new_hunkmax * sizeof(char *));
+	new_p_len = reallocf(p_len, new_hunkmax * sizeof(short));
+	new_p_char = reallocf(p_char, new_hunkmax * sizeof(char));
 
 	p_char = new_p_char;
 	p_len = new_p_len;


More information about the svn-src-head mailing list