aboutsummaryrefslogtreecommitdiff
path: root/nonints.h
diff options
context:
space:
mode:
authorSimon J. Gerraty <sjg@FreeBSD.org>2020-07-08 18:32:15 +0000
committerSimon J. Gerraty <sjg@FreeBSD.org>2020-07-08 18:32:15 +0000
commit1a2b743f6b4022dada4eeaa96ac47a5c1a2429f5 (patch)
treed24792918468eb00f02c40f6f05a4de720d20fef /nonints.h
parent6e0296234fdf9b27f5b0d9f884223b7c2b5b3d03 (diff)
downloadsrc-1a2b743f6b4022dada4eeaa96ac47a5c1a2429f5.tar.gz
src-1a2b743f6b4022dada4eeaa96ac47a5c1a2429f5.zip
Import bmake-20200704vendor/NetBSD/bmake/20200704
from ChangeLog: (most of this by rillig@) o lots of style and white-space cleanup o lots more unit tests for variable modifiers o simplified description of some functions o str.c: refactor Str_Match o var.c: debugging output for :@ constify VarModify parameter fix :hash modifier on 16-bit platforms remove unnecessary forward declarations refactor ApplyModifier_SysV to have less indentation simplify code for :E and :R clean up code for :H and :T refactor ApplyModifiers * var.c: we need stdint.h on some platforms to get uint32_t * unit-test/Makefile: we need to supress the specific error for RE substitution error in modmisc, since it varies accross different OS.
Notes
Notes: svn path=/vendor/NetBSD/bmake/dist/; revision=363018 svn path=/vendor/NetBSD/bmake/20200704/; revision=363019; tag=vendor/NetBSD/bmake/20200704
Diffstat (limited to 'nonints.h')
-rw-r--r--nonints.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/nonints.h b/nonints.h
index ae9869d6e8d6..3126650c9b59 100644
--- a/nonints.h
+++ b/nonints.h
@@ -1,4 +1,4 @@
-/* $NetBSD: nonints.h,v 1.75 2020/04/25 18:20:57 christos Exp $ */
+/* $NetBSD: nonints.h,v 1.78 2020/07/03 07:40:13 rillig Exp $ */
/*-
* Copyright (c) 1988, 1989, 1990, 1993
@@ -139,7 +139,7 @@ Lst Parse_MainName(void);
char *str_concat(const char *, const char *, int);
char **brk_string(const char *, int *, Boolean, char **);
char *Str_FindSubstring(const char *, const char *);
-int Str_Match(const char *, const char *);
+Boolean Str_Match(const char *, const char *);
char *Str_SYSVMatch(const char *, const char *, size_t *, Boolean *);
void Str_SYSVSubst(Buffer *, char *, char *, size_t, Boolean);
@@ -185,13 +185,20 @@ void Targ_Propagate(void);
void Targ_Propagate_Wait(void);
/* var.c */
+
+typedef enum {
+ VARF_UNDEFERR = 1,
+ VARF_WANTRES = 2,
+ VARF_ASSIGN = 4
+} Varf_Flags;
+
void Var_Delete(const char *, GNode *);
-void Var_Set(const char *, const char *, GNode *, int);
+void Var_Set(const char *, const char *, GNode *);
void Var_Append(const char *, const char *, GNode *);
Boolean Var_Exists(const char *, GNode *);
char *Var_Value(const char *, GNode *, char **);
-char *Var_Parse(const char *, GNode *, int, int *, void **);
-char *Var_Subst(const char *, const char *, GNode *, int);
+char *Var_Parse(const char *, GNode *, Varf_Flags, int *, void **);
+char *Var_Subst(const char *, const char *, GNode *, Varf_Flags);
char *Var_GetTail(const char *);
char *Var_GetHead(const char *);
void Var_Init(void);