diff options
author | Simon J. Gerraty <sjg@FreeBSD.org> | 2020-07-08 18:32:15 +0000 |
---|---|---|
committer | Simon J. Gerraty <sjg@FreeBSD.org> | 2020-07-08 18:32:15 +0000 |
commit | 1a2b743f6b4022dada4eeaa96ac47a5c1a2429f5 (patch) | |
tree | d24792918468eb00f02c40f6f05a4de720d20fef /nonints.h | |
parent | 6e0296234fdf9b27f5b0d9f884223b7c2b5b3d03 (diff) | |
download | src-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.h | 17 |
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); |