harti
47633d30dc
Reduce the number of explicit parameters passed to VarParse()
...
by passing them through struct VarParser.
Patch: 7.127
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-21 07:40:33 +00:00
harti
5b55d8aa02
Cleanup handling of colons in variable substitutions.
...
Patch: 7.126
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-18 16:52:46 +00:00
harti
4565898f62
Unfold parsing of single letter modifiers from multi-letter ones.
...
Patch: 7.125
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-18 15:51:04 +00:00
harti
821eec0009
Style: fix indentation and <space><tab>.
...
Patch: 7.124
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-18 15:44:23 +00:00
harti
efa8f52f88
Split out the 'S' modifier into its own function.
...
Patch: 7.122,7.123
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-18 15:37:31 +00:00
harti
f00fcf68ef
Convert Var_Parse to a wrapper function.
...
Reduce the number of arguments passed between these functions by
creating a special-purpose struct.
Patch: 7.120,7.121
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-18 15:34:07 +00:00
harti
5b2a5b84de
Replace Lst_Find calls with LST_FOREACH loops. This helps in
...
constification und simplifies the code because the one-liner
predicates can be inlined into the code.
2005-03-18 15:25:23 +00:00
harti
3cd2d2d0d5
Replace a bogus use of Lst_Find with explicite LST_FOREACH calls
...
and remove the unneeded second argument to ReadMakefile.
2005-03-18 15:23:49 +00:00
harti
3754e8fb58
Fix a bug in matching suffixes. Under certain circumstances the code
...
would access memory before the beginning of the string to match (the
suffix match starts at the end of both the string and the suffix and
proceedes to the begin until either the start of the suffix is hit
or the character does not match). This could lead to a memcpy copying
into random memory. Fix this by checking the length of the string to
match too and replacing the Lst_Find calls with LST_FOREACH loops
(last part by me).
Submitted by: Matt Dillon <dillon@apollo.backplane.com> (in principle)
2005-03-18 15:16:09 +00:00
harti
3d5967d365
Now that there are no users of Lst_ForEach and Lst_ForEachFrom are left
...
delete these two macros and all the associated stuff.
2005-03-16 16:11:11 +00:00
harti
df4f9cb09a
Replace Lst_ForEach by LST_FOREACH.
2005-03-16 16:02:09 +00:00
harti
cbbd172aea
Replace another bunch of Lst_ForEachs by LST_FOREACHs and simplify code.
2005-03-16 12:22:15 +00:00
harti
35b09a0244
Fix a comment.
2005-03-16 08:06:28 +00:00
harti
fe00d22104
Get rid of another bunch of Lst_ForEach in favour of LST_FOREACH and
...
simplify code accordingly.
2005-03-16 08:04:45 +00:00
harti
0ce269a189
Ups. Revert the last commits. These have been committed by accident.
2005-03-15 15:10:51 +00:00
harti
6fc3b6df1c
modifier_M: instead of going through the string twice to compute the
...
size of the buffer we need, just allocate the possible maximum.
Patch: 7.117
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-15 15:05:14 +00:00
harti
7bd6f53de6
Style: Move a variable from a local scope up to the begin of the function.
...
Rename result variable so common code becomes more visible.
Rename freePtr to freeResult to make clear what pointer must be freed.
Patch: 7.116, 7.116a
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-15 14:52:10 +00:00
harti
384241be9f
Get rid of a number of Lst_ForEach calls in favour of LST_FOREACH
...
and simplify the printing functions.
2005-03-15 14:28:39 +00:00
harti
84812666f6
VarParseLong: move the detection of the modifier separator ':' into
...
the loop. Add a comment why the 'consumed' variable is updated.
Rename lengthPtr to consumed.
Patch: 7.115
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-15 14:27:29 +00:00
harti
db06c5de06
Yet another version of passing the last line to ParseFinishLine().
...
It turns out that some ports use the obscure feature of spreading
a dependency block across multiple include files. While this seems
bad style, allow it for now and call said function only at end of
all input to process the really last line of everything.
2005-03-15 14:25:24 +00:00
harti
6427cb7c26
Get rid of another Lst_ForEach in favour of LST_FOREACH. Get rid
...
of the now unused struct LstSrc and collapes two functions into one.
2005-03-14 17:04:58 +00:00
harti
e46b6260f7
ParseModifier(): rename rw_str to value and reindent cleanup section.
...
ParseRestModifier() and ParseRestEnd(): move advancement of ptr to remove
a confusing calculation.
VarParseLong(): cleanup calculation of consumed.
Patch: 7.114
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-14 17:03:34 +00:00
harti
6c1fea3e9f
Move the creation of a Src structure into its own function.
2005-03-14 12:04:20 +00:00
harti
65a16da8cc
Split off two function from VarParseLong to handle modifiers and the
...
actual variable lookup. Consistently rename lengthPtr to consumed.
Update a number of comments to match the code.
Patch: 7.111-113
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-14 12:03:30 +00:00
harti
dffc7fe63f
Convert a couple of other uses of Lst_ForEach to LST_FOREACH and
...
simplify code.
2005-03-14 08:29:58 +00:00
harti
559d1826e4
Simplify the print routines by using LST_FOREACH instead of Lst_ForEach
...
and inlining the small printing utility functions.
Create a function that can be used to produce printable representations
of flag words.
2005-03-11 13:24:08 +00:00
harti
d72309cdad
Remove leading underscores from the pathname defines. All identifiers
...
with leading underscore followed by an uppercase letter are in the
implementation namespace.
2005-03-11 13:02:38 +00:00
harti
dc263e28e9
Remove the leading underscore from structure tags. All identifiers
...
with a leading underscore are in the implementation namespace.
2005-03-11 12:57:25 +00:00
harti
503e7ada08
Style: Fix indentation.
2005-03-11 12:40:55 +00:00
harti
364f261bed
Call ParseFinishLine() also for the last line in a file. This
...
patch differs from the previous one in that it calls the function
only when a real file hits EOF. The bodies of .for loops are also
handled as files, but for these we don't want to end a dependency block
on the 'EOF' as in:
foo:
do-this
.for ...
do-something
.endfor
do-more
2005-03-11 11:29:39 +00:00
harti
6d878c5dc2
Back out the last commit. It turns out that this breaks more than
...
it fixes. This should fix the buildworld breakage.
2005-03-11 07:53:32 +00:00
harti
751b56b164
Constify Var_Dump and simplify it by inlining VarPrintVar.
2005-03-10 15:38:01 +00:00
harti
e98f139ac2
Call ParseFinishLine() for the last line of a file too.
2005-03-10 15:30:09 +00:00
harti
188f70d7e9
Reorganize Suff_EndTransform to be called only for nodes for
...
which it is needed (transforms).
2005-03-10 14:54:47 +00:00
harti
32e1481603
Style: fix function style before working on it (mainly intendation).
2005-03-10 10:16:03 +00:00
harti
ba42fcc409
Implement a new macro LST_NEXT which is like Lst_Succ but doesn't check
...
for its argument to be non-NULL.
2005-03-09 16:53:31 +00:00
harti
bb218a7c02
Split SuffExpandChildren into three functions: one that skips
...
variables and expands archive specifications, one that expands
wild cards and a driver that loops over the children list and
expands each child if necessary replacing it with it's expansions.
2005-03-09 16:51:43 +00:00
harti
633c8c538c
Var_Subst() cannot return NULL so there is no reason to check
...
for it.
2005-03-09 07:53:03 +00:00
harti
1dd03a69ac
Style: fix indentation of SuffExpandChildren before working on it.
2005-03-08 16:30:32 +00:00
harti
af76c1e1e3
Use Buf_Peel to get rid of a local variable.
2005-03-08 14:37:47 +00:00
harti
71a2608310
Use the Buf_Peel function to get to the string contained into a
...
buffer without using an extra local variable.
2005-03-08 14:33:58 +00:00
harti
645fdd0f11
Remove useless local prototypes.
2005-03-08 14:30:18 +00:00
harti
aec2338af9
Style: fix indentation.
2005-03-08 14:29:23 +00:00
harti
3d0845b481
Use the new Buf_Peel function to simplify things.
...
Remove an unused struct definition.
2005-03-08 13:15:51 +00:00
harti
d8085e2228
Create a new function Buf_Peel that returns the string from inside
...
a Buffer and frees the Buffer.
2005-03-08 13:15:18 +00:00
harti
9719ee7af7
Add a debugging function that prints a message and appends the
...
current strerror.
2005-03-08 07:47:14 +00:00
harti
d28f5e232e
Mark functions that don't return as dead.
2005-03-08 07:45:50 +00:00
harti
6bf66a2080
Finish constification of Var_Parse() and Var_Subst().
...
Patch: 0.18, 0.8, 7.110
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-08 07:43:57 +00:00
harti
1cdb32f8eb
Constify the callers of brk_string in this file.
...
Patch: 7.108
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-07 16:23:53 +00:00
harti
559a7bb274
Style: fix indendation of VarModify().
...
Patch: 7.107
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-03-07 16:14:50 +00:00