diff options
Diffstat (limited to 'usr.bin/make/var.c')
| -rw-r--r-- | usr.bin/make/var.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c index 92b35b8a7602b..2f29567b4e508 100644 --- a/usr.bin/make/var.c +++ b/usr.bin/make/var.c @@ -35,11 +35,16 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: var.c,v 1.12 1999/04/19 07:30:04 imp Exp $ + * $Id: var.c,v 1.13 1999/07/31 20:53:02 hoek Exp $ */ #ifndef lint +#if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; +#else +static const char rcsid[] = + "$Id"; +#endif #endif /* not lint */ /*- @@ -141,15 +146,17 @@ typedef struct Var { * modified variables */ } Var; +/* Var*Pattern flags */ +#define VAR_SUB_GLOBAL 0x01 /* Apply substitution globally */ +#define VAR_MATCH_START 0x08 /* Match at start of word */ +#define VAR_MATCH_END 0x10 /* Match at end of word */ + typedef struct { char *lhs; /* String to match */ int leftLen; /* Length of string */ char *rhs; /* Replacement string (w/ &'s removed) */ int rightLen; /* Length of replacement */ int flags; -#define VAR_SUB_GLOBAL 1 /* Apply substitution globally */ -#define VAR_MATCH_START 2 /* Match at start of word */ -#define VAR_MATCH_END 4 /* Match at end of word */ } VarPattern; static int VarCmp __P((ClientData, ClientData)); @@ -266,8 +273,7 @@ VarFind (name, ctxt, flags) (int (*)(ClientData, ClientData)) strcmp) != NILLNODE) { localCheckEnvFirst = TRUE; - } - else { + } else { localCheckEnvFirst = FALSE; } @@ -1150,7 +1156,7 @@ Var_Parse (str, ctxt, err, lengthPtr, freePtr) { register char *tstr; /* Pointer into str */ Var *v; /* Variable in invocation */ - register char *cp; /* Secondary pointer into str (place marker + char *cp; /* Secondary pointer into str (place marker * for tstr) */ Boolean haveModifier;/* TRUE if have modifiers for the variable */ register char endc; /* Ending character when variable in parens @@ -1196,6 +1202,7 @@ Var_Parse (str, ctxt, err, lengthPtr, freePtr) * specially as they are the only four that will be set * when dynamic sources are expanded. */ + /* XXX: It looks like $% and $! are reversed here */ switch (str[1]) { case '@': return("$(.TARGET)"); @@ -1501,6 +1508,7 @@ Var_Parse (str, ctxt, err, lengthPtr, freePtr) pattern.flags = 0; delim = tstr[1]; tstr += 2; + /* * If pattern begins with '^', it is anchored to the * start of the word -- skip over it and flag pattern. |
