=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/varmodifiers.c,v retrieving revision 1.17 retrieving revision 1.18 diff -c -r1.17 -r1.18 *** src/usr.bin/make/varmodifiers.c 2007/07/24 18:56:15 1.17 --- src/usr.bin/make/varmodifiers.c 2007/07/24 18:58:48 1.18 *************** *** 1,5 **** /* $OpenPackages$ */ ! /* $OpenBSD: varmodifiers.c,v 1.17 2007/07/24 18:56:15 espie Exp $ */ /* $NetBSD: var.c,v 1.18 1997/03/18 19:24:46 christos Exp $ */ /* --- 1,5 ---- /* $OpenPackages$ */ ! /* $OpenBSD: varmodifiers.c,v 1.18 2007/07/24 18:58:48 espie Exp $ */ /* $NetBSD: var.c,v 1.18 1997/03/18 19:24:46 christos Exp $ */ /* *************** *** 1372,1382 **** char * VarModifiers_Apply(char *str, const struct Name *name, SymTable *ctxt, ! bool err, bool *freePtr, const char *start, int paren, size_t *lengthPtr) { const char *tstr; bool atstart; /* Some ODE modifiers only make sense at start */ char endc = paren == '(' ? ')' : '}'; tstr = start; /* --- 1372,1383 ---- char * VarModifiers_Apply(char *str, const struct Name *name, SymTable *ctxt, ! bool err, bool *freePtr, const char **pscan, int paren) { const char *tstr; bool atstart; /* Some ODE modifiers only make sense at start */ char endc = paren == '(' ? ')' : '}'; + const char *start = *pscan; tstr = start; /* *************** *** 1456,1468 **** if (DEBUG(VAR)) printf("Result is \"%s\"\n", str); } ! if (*tstr == '\0') { Error("Unclosed variable specification"); ! /* make tstr point at the last char of the variable specification */ ! tstr--; ! } ! *lengthPtr += tstr - start; return str; } --- 1457,1468 ---- if (DEBUG(VAR)) printf("Result is \"%s\"\n", str); } ! if (*tstr == '\0') Error("Unclosed variable specification"); ! else ! tstr++; ! *pscan = tstr; return str; }