Module Name: src
Committed By: rillig
Date: Sat Nov 7 14:11:58 UTC 2020
Modified Files:
src/usr.bin/make: buf.c buf.h cond.c dir.c for.c main.c var.c
Log Message:
make(1): make API of Buf_Init simpler
In most cases, the caller doesn't want to specify the exact number of
preallocated bytes.
To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/usr.bin/make/buf.c
cvs rdiff -u -r1.34 -r1.35 src/usr.bin/make/buf.h
cvs rdiff -u -r1.178 -r1.179 src/usr.bin/make/cond.c
cvs rdiff -u -r1.196 -r1.197 src/usr.bin/make/dir.c
cvs rdiff -u -r1.113 -r1.114 src/usr.bin/make/for.c
cvs rdiff -u -r1.434 -r1.435 src/usr.bin/make/main.c
cvs rdiff -u -r1.672 -r1.673 src/usr.bin/make/var.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/buf.c
diff -u src/usr.bin/make/buf.c:1.43 src/usr.bin/make/buf.c:1.44
--- src/usr.bin/make/buf.c:1.43 Sat Nov 7 10:16:18 2020
+++ src/usr.bin/make/buf.c Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: buf.c,v 1.43 2020/11/07 10:16:18 rillig Exp $ */
+/* $NetBSD: buf.c,v 1.44 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -75,7 +75,7 @@
#include "make.h"
/* "@(#)buf.c 8.1 (Berkeley) 6/6/93" */
-MAKE_RCSID("$NetBSD: buf.c,v 1.43 2020/11/07 10:16:18 rillig Exp $");
+MAKE_RCSID("$NetBSD: buf.c,v 1.44 2020/11/07 14:11:58 rillig Exp $");
/* Make space in the buffer for adding a single byte. */
void
@@ -155,19 +155,22 @@ Buf_Empty(Buffer *buf)
buf->data[0] = '\0';
}
-/* Initialize a buffer.
- * If the given initial capacity is 0, a reasonable default is used. */
+/* Initialize a buffer. */
void
-Buf_Init(Buffer *buf, size_t cap)
+Buf_InitSize(Buffer *buf, size_t cap)
{
- if (cap == 0)
- cap = 256;
buf->cap = cap;
buf->len = 0;
buf->data = bmake_malloc(cap);
buf->data[0] = '\0';
}
+void
+Buf_Init(Buffer *buf)
+{
+ Buf_InitSize(buf, 256);
+}
+
/* Reset the buffer.
* If freeData is TRUE, the data from the buffer is freed as well.
* Otherwise it is kept and returned. */
Index: src/usr.bin/make/buf.h
diff -u src/usr.bin/make/buf.h:1.34 src/usr.bin/make/buf.h:1.35
--- src/usr.bin/make/buf.h:1.34 Sun Sep 27 16:59:02 2020
+++ src/usr.bin/make/buf.h Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: buf.h,v 1.34 2020/09/27 16:59:02 rillig Exp $ */
+/* $NetBSD: buf.h,v 1.35 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -124,7 +124,8 @@ void Buf_AddStr(Buffer *, const char *);
void Buf_AddInt(Buffer *, int);
char *Buf_GetAll(Buffer *, size_t *);
void Buf_Empty(Buffer *);
-void Buf_Init(Buffer *, size_t);
+void Buf_Init(Buffer *);
+void Buf_InitSize(Buffer *, size_t);
char *Buf_Destroy(Buffer *, Boolean);
char *Buf_DestroyCompact(Buffer *);
Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.178 src/usr.bin/make/cond.c:1.179
--- src/usr.bin/make/cond.c:1.178 Sat Nov 7 10:16:18 2020
+++ src/usr.bin/make/cond.c Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: cond.c,v 1.178 2020/11/07 10:16:18 rillig Exp $ */
+/* $NetBSD: cond.c,v 1.179 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -93,7 +93,7 @@
#include "dir.h"
/* "@(#)cond.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: cond.c,v 1.178 2020/11/07 10:16:18 rillig Exp $");
+MAKE_RCSID("$NetBSD: cond.c,v 1.179 2020/11/07 14:11:58 rillig Exp $");
/*
* The parsing of conditional expressions is based on this grammar:
@@ -225,7 +225,7 @@ ParseFuncArg(const char **pp, Boolean do
cpp_skip_hspace(&p);
- Buf_Init(&argBuf, 16);
+ Buf_InitSize(&argBuf, 16);
paren_depth = 0;
for (;;) {
@@ -398,7 +398,7 @@ CondParser_String(CondParser *par, Boole
VarEvalFlags eflags;
VarParseResult parseResult;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
str = NULL;
*out_freeIt = NULL;
*out_quoted = qt = par->p[0] == '"';
Index: src/usr.bin/make/dir.c
diff -u src/usr.bin/make/dir.c:1.196 src/usr.bin/make/dir.c:1.197
--- src/usr.bin/make/dir.c:1.196 Sat Nov 7 10:16:18 2020
+++ src/usr.bin/make/dir.c Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.c,v 1.196 2020/11/07 10:16:18 rillig Exp $ */
+/* $NetBSD: dir.c,v 1.197 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -134,7 +134,7 @@
#include "job.h"
/* "@(#)dir.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: dir.c,v 1.196 2020/11/07 10:16:18 rillig Exp $");
+MAKE_RCSID("$NetBSD: dir.c,v 1.197 2020/11/07 14:11:58 rillig Exp $");
#define DIR_DEBUG0(text) DEBUG0(DIR, text)
#define DIR_DEBUG1(fmt, arg1) DEBUG1(DIR, fmt, arg1)
@@ -1480,7 +1480,7 @@ Dir_MakeFlags(const char *flag, SearchPa
Buffer buf;
SearchPathNode *ln;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
if (path != NULL) {
for (ln = path->first; ln != NULL; ln = ln->next) {
Index: src/usr.bin/make/for.c
diff -u src/usr.bin/make/for.c:1.113 src/usr.bin/make/for.c:1.114
--- src/usr.bin/make/for.c:1.113 Sat Nov 7 10:16:18 2020
+++ src/usr.bin/make/for.c Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: for.c,v 1.113 2020/11/07 10:16:18 rillig Exp $ */
+/* $NetBSD: for.c,v 1.114 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1992, The Regents of the University of California.
@@ -60,7 +60,7 @@
#include "make.h"
/* "@(#)for.c 8.1 (Berkeley) 6/6/93" */
-MAKE_RCSID("$NetBSD: for.c,v 1.113 2020/11/07 10:16:18 rillig Exp $");
+MAKE_RCSID("$NetBSD: for.c,v 1.114 2020/11/07 14:11:58 rillig Exp $");
/* The .for loop substitutes the items as ${:U<value>...}, which means
* that characters that break this syntax must be backslash-escaped. */
@@ -191,11 +191,11 @@ For_Eval(const char *line)
*/
f = bmake_malloc(sizeof *f);
- Buf_Init(&f->body, 0);
+ Buf_Init(&f->body);
Vector_Init(&f->vars, sizeof(ForVar));
f->items.words = NULL;
f->items.freeIt = NULL;
- Buf_Init(&f->curBody, 0);
+ Buf_Init(&f->curBody);
f->short_var = FALSE;
f->sub_next = 0;
Index: src/usr.bin/make/main.c
diff -u src/usr.bin/make/main.c:1.434 src/usr.bin/make/main.c:1.435
--- src/usr.bin/make/main.c:1.434 Sat Nov 7 10:25:28 2020
+++ src/usr.bin/make/main.c Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.434 2020/11/07 10:25:28 rillig Exp $ */
+/* $NetBSD: main.c,v 1.435 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -118,7 +118,7 @@
#include "trace.h"
/* "@(#)main.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: main.c,v 1.434 2020/11/07 10:25:28 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.435 2020/11/07 14:11:58 rillig Exp $");
#if defined(MAKE_NATIVE) && !defined(lint)
__COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
"The Regents of the University of California. "
@@ -1768,7 +1768,7 @@ Cmd_Exec(const char *cmd, const char **e
(void)close(fds[1]); /* No need for the writing half */
savederr = 0;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
do {
char result[BUFSIZ];
@@ -1950,7 +1950,7 @@ execDie(const char *af, const char *av)
{
Buffer buf;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
Buf_AddStr(&buf, progname);
Buf_AddStr(&buf, ": ");
Buf_AddStr(&buf, af);
Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.672 src/usr.bin/make/var.c:1.673
--- src/usr.bin/make/var.c:1.672 Sat Nov 7 10:16:19 2020
+++ src/usr.bin/make/var.c Sat Nov 7 14:11:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.672 2020/11/07 10:16:19 rillig Exp $ */
+/* $NetBSD: var.c,v 1.673 2020/11/07 14:11:58 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -130,7 +130,7 @@
#include "metachar.h"
/* "@(#)var.c 8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.672 2020/11/07 10:16:19 rillig Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.673 2020/11/07 14:11:58 rillig Exp $");
#define VAR_DEBUG1(fmt, arg1) DEBUG1(VAR, fmt, arg1)
#define VAR_DEBUG2(fmt, arg1, arg2) DEBUG2(VAR, fmt, arg1, arg2)
@@ -287,7 +287,7 @@ VarNew(const char *name, void *name_free
Var *var = bmake_malloc(sizeof *var);
var->name = name;
var->name_freeIt = name_freeIt;
- Buf_Init(&var->val, value_len + 1);
+ Buf_InitSize(&var->val, value_len + 1);
Buf_AddBytes(&var->val, value, value_len);
var->flags = flags;
return var;
@@ -1048,7 +1048,7 @@ typedef struct SepBuf {
static void
SepBuf_Init(SepBuf *buf, char sep)
{
- Buf_Init(&buf->buf, 32 /* bytes */);
+ Buf_InitSize(&buf->buf, 32);
buf->needSep = FALSE;
buf->sep = sep;
}
@@ -1596,7 +1596,7 @@ Words_JoinFree(Words words)
Buffer buf;
size_t i;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
for (i = 0; i < words.len; i++) {
if (i != 0)
@@ -1633,7 +1633,7 @@ static char *
VarQuote(const char *str, Boolean quoteDollar)
{
Buffer buf;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
for (; *str != '\0'; str++) {
if (*str == '\n') {
@@ -1883,7 +1883,7 @@ ParseModifierPart(
Buffer buf;
const char *p;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
/*
* Skim through until the matching delimiter is found; pick up variable
@@ -2115,7 +2115,7 @@ ApplyModifier_Defined(const char **pp, A
eflags |= VARE_WANTRES;
}
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
p = *pp + 1;
while (*p != st->endc && *p != ':' && *p != '\0') {
@@ -2335,7 +2335,7 @@ ApplyModifier_Range(const char **pp, App
Words_Free(words);
}
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
for (i = 0; i < n; i++) {
if (i != 0)
@@ -2741,7 +2741,7 @@ ApplyModifier_Words(const char **pp, App
size_t ac = words.len;
Words_Free(words);
- Buf_Init(&buf, 4); /* 3 digits + '\0' is usually enough */
+ Buf_InitSize(&buf, 4); /* 3 digits + '\0' is usually enough */
Buf_AddInt(&buf, (int)ac);
st->newVal = Buf_Destroy(&buf, FALSE);
}
@@ -3507,7 +3507,7 @@ ParseVarname(const char **pp, char start
const char *p = *pp;
int depth = 1;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
while (*p != '\0') {
/* Track depth so we can spot parse errors. */
@@ -3959,7 +3959,7 @@ Var_Subst(const char *str, GNode *ctxt,
* to prevent a plethora of messages when recursing */
static Boolean errorReported;
- Buf_Init(&buf, 0);
+ Buf_Init(&buf);
errorReported = FALSE;
while (*p != '\0') {