harti
6829935329
Major clean up and split the Var_Parse monster function into three
...
functions: one for the single letter variables, one for the others
and one that does the recursive expansion.
Patches: 7.68-7.79
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-26 08:54:40 +00:00
harti
d1abcd79ac
Change the return value of Var_Subst to return a Buffer instead
...
of a char *.
Patch: 7.49
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-25 13:16:56 +00:00
harti
1d7e5b95d3
Var_Parse: Separate different error states by introducing an else block
...
after a return. Move assignments to {freePtr, dynamic, start} closer to the
return statements to clarify which variables are actually used for
communication between the losely coupled blocks of the code. Clear up
an if-expression to make common structures of the conditions clearer.
Use strchr instead of switch statements to check for a character beeing
a member of a set.
Patches: 7-62.2, 7-62.3, 7-64, 7-65.1, 7-65.2
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-24 16:05:45 +00:00
harti
b7895e139c
Push assignments to just before the returns from the function to
...
get it clearer what variables are actually needed.
Patches: 7.62.2, 7.62.3
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-24 10:35:39 +00:00
harti
0cc9f8934c
Fix wording of a comment.
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-24 10:30:23 +00:00
harti
7873864c55
Replace the calls to Lst_ForEach with the new LST_FOREACH macro and
...
fix the prototype for Compat_RunCommand to take the actual argument
types instead of void *.
2005-02-24 10:23:31 +00:00
harti
4894ce3722
Use the LST_FOREACH macro instead of the Lst_ForEach function
...
and so get rid of the ForExec helper function by inlining it
into For_Run.
2005-02-23 14:03:18 +00:00
harti
a615390781
Style: fix indent, use tabs instead of space+tab for aligning things.
...
Add a couple of comments.
2005-02-23 13:58:56 +00:00
harti
5c4987ac60
Fix the indendation of some multi-line comments.
...
Noted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-23 10:20:58 +00:00
harti
47d7a7aa18
Fix the prototypes by addings some constness. This should have been
...
committed together with the commit to dir.c:1.48.
2005-02-22 08:17:05 +00:00
harti
e9cdad37dc
Use the new LST_FOREACH macro throughout the file and replace calls to
...
Lst_ForEach and Lst_Find.
2005-02-22 08:00:06 +00:00
harti
efff8cf181
Invent the LST_FOREACH macro for looping through a list. In contrast
...
to the Lst_ForEach function this macro reduces the number of function
calls per invocation by N + 1 (where N is the number of list elements)
and increases code locality thereby increasing readability and
(maybe) performance.
2005-02-22 07:58:53 +00:00
harti
d6b174f652
Style: fix indendation to be 8 and use tabulators. Fix lines longer than
...
80 characters and slightly reorder functions to get rid of static
prototypes.
2005-02-21 13:36:22 +00:00
harti
ba26f6388f
Forgot to set *freePtr to FALSE in another place.
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-21 08:10:21 +00:00
harti
dd84d5412c
Fix a bug in handling archive members: when a member was not found
...
when looking into an already hashed archive, the code tried to use
the name shortened to the maximum length allowed for the archive.
Unfortunately it passed a buffer of junk to the hashing routine when
the name actually wasn't too long. Theoretically this could lead to
a false positive.
2005-02-21 08:06:34 +00:00
harti
16ce0eb32d
Push the assignments of some variables down into the sub-blocks where
...
it is actually needed. This makes clear in which subblocks the variables
are not needed and which can easier be split out.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-18 15:32:06 +00:00
harti
1da3314647
Push down variables into local scope in Var_Parse to make their
...
liveness clear for splitting up this monster function.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-18 07:33:43 +00:00
harti
cd4209c59e
Whitespace cleanup: substitute mixed tabs and spaces by canonical
...
whitespace and line up some variable definitions.
2005-02-17 12:35:32 +00:00
harti
fd36b19bc9
Move error case to begin of if-else chain. Do not needless initialize
...
startc, but only at the place where the initialisation is needed. Remove
a needless else.
Submitted by: Max Okumoto <okumoto@ucsd.edu> (partly)
2005-02-17 12:31:53 +00:00
harti
627a049bbf
Fix two typos in comments.
...
Submitted by: ru & Max Okumoto <okumoto@ucsd.edu>
2005-02-17 09:09:34 +00:00
harti
a83cbf6327
Sort out the error case that a single '$' was passed a little bit
...
earlier instead of mixing its handling with other cases.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-17 09:01:19 +00:00
harti
49f07e0b83
Mostly stylistic issues: move a variable into local scope, make
...
condition positive and fix long lines.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-16 17:20:09 +00:00
harti
dfb7ee3811
Better version of the patch in 1.117: bring a variable into local scope
...
to prepare for function splitting and slightly reorganise the code
in anticipation of Var_Subst returning a Buffer.
Submitted by: Max Okumoto <okumoto@ucsd.edu> (with slight changes)
2005-02-16 12:39:32 +00:00
ru
1541af42f1
Expand *n't contractions.
2005-02-13 22:25:33 +00:00
harti
f744a83fcd
Back out the previous commit. There is an obvious bug in it.
...
Pointy hat to: harti
2005-02-13 13:33:56 +00:00
harti
878b2ba45f
Stylistic fixes: push variable into a local context (this part is going
...
to be split out into a function soon). Also there is no need to write
back the colon that we have NUL-ed - the string is going to be freed
anyway.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-11 17:03:18 +00:00
harti
e6315e1667
Convert several instances of negative logic to positive logic.
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-11 10:49:01 +00:00
harti
5ac91dfb2b
Buffers are already NUL-terminated so there is no need to explicitely add
...
a NULL.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 17:01:46 +00:00
harti
be46f93f56
Mostly stylistic nits in preparation for splitting up Var_Parse:
...
use a more consistent style with regard to *str and str[0];
simplify code by introducing a temporary variable;
shift a break around and add braces where appropriate.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 17:00:16 +00:00
harti
d1c5c1813a
Let the buffer just use the default size by specifying 0 as the size
...
instead of specifying the default size explicitely.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 14:53:29 +00:00
harti
f247b32ef0
Mark the modification of the input string (which should really be const)
...
with a comment.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 14:52:14 +00:00
harti
9c56ede2b6
Style nits:
...
Move some assignments nearer to where they actually used. Convert a loop
from a for() to a while() to make it clearer and add braces to the long
body of it. Split assignment from variable declaration.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 14:50:34 +00:00
harti
374fae4a38
Describe a pre-condition of Var_Parse().
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 14:43:22 +00:00
harti
41f26b3bb5
Remove a comment that's not actual anymore.
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 14:41:22 +00:00
harti
1735ff6669
Fix spacing by converting mixes of space and tab to tab. Also add a number
...
of empty lines in appropriate places.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-10 14:39:05 +00:00
harti
7e0569095f
Initialise the status variable. W_SETTERMSIG uses its value.
...
Submitted by: stefanf
2005-02-10 14:32:14 +00:00
harti
ac0decfad8
Lst_Append returns void, so the other case of the ? statement
...
should also be void.
Submitted by: stefanf
2005-02-10 14:25:12 +00:00
harti
c299702086
Use defines for character constants for open and closing braces and
...
parantheses. This helps editors to find its way through the horrible
mess of Var_Parse. Rewrite a for() loop into a while() to make it clearer.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-09 18:44:09 +00:00
harti
9c4d6c6307
While working on constification temporarily disable -Werror. Things are too
...
twisted.
2005-02-09 13:22:02 +00:00
harti
bfa90db5b7
Untangle VarFind and, while rewriting most of the function, fix the
...
intendation. (A large part of the function was already at intendation 8).
2005-02-09 13:13:59 +00:00
harti
0fce40c381
Introduce VarCreate and VarDestroy functions and used them where
...
appropriate.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-09 09:53:28 +00:00
harti
3d0eb6600e
Remove an unneeded check.
2005-02-07 16:33:57 +00:00
harti
15f29409ba
Introduce a typedef for variable value modifation functions and use it
...
where appropriate.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-07 16:27:19 +00:00
harti
c300f77198
Make the intention of a loop clearer.
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-07 15:51:51 +00:00
harti
4dd5217a47
Introduce Buf_StripNewLines() and use it where appropriate.
...
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-07 11:27:47 +00:00
harti
92a5e4fdd6
Invent a Buf_AppendRange function that appends a non-NUL-terminated string
...
given by a pointer to the start of the string and a pointer one behind
the end.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-07 07:54:23 +00:00
harti
c45831f7c6
Invent a Buf_Append function to append a NUL-terminated string
...
and use it thoughout the code.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-07 07:49:16 +00:00
harti
43632a424a
Where the returned line length from Buf_GetAll is not used just pass
...
a NULL to the function. Delete the now unused local variables.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-04 16:53:35 +00:00
harti
44af3ae976
Rewrite of the buf code:
...
- convert Buf_AddByte from a macro to a function
- move #define's into the header file
- remove unused field in struct Buffer
- remove size fields - they can be easily computed
- inline Buf_OvAddByte
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-04 16:48:35 +00:00
harti
6861248dfc
None of the users of Buf_Discard used it to get rid of only a part of
...
the buffer. So replace Buf_Discard by Buf_Clear which just gets rid
of the entire contents.
Submitted by: Max Okumoto <okumoto@ucsd.edu>
2005-02-04 13:34:16 +00:00