Commit Graph

364 Commits

Author SHA1 Message Date
Hartmut Brandt
7a2029bac2 Clean up include files and file including. Split nonints.h into pieces
that get included just where they are needed. All headers include the
headers that they need to compile (just with an empty .c file). Sort
includes alphabetically where apropriate and fix some duplicate commenting
for struct Job, struct GNode and struct Shell by removing one version and
inlining the comments into the structure declaration (the comments have been
somewhat outdated).

This patch does not contain functional changes (checked with md5).

Submitted by:	Max Okumoto <okumoto@ucsd.edu>
2005-02-01 10:50:37 +00:00
Hartmut Brandt
b071ad2dca Fix quoting of the MAKEFLAGS environment variable by only quoting spaces
and tabs. This is still not correct for command line variable values
ending in a backslash because this would require a larger effort.
Document this limitation in the BUGS section of the man page. The
quoting is mostly compatible with that of gmake and smake.

Tested by:	Max Okumoto and Joerg Sonnenberger from DragonFly BSD
Reviewed by:	ru (man page, partly)
2005-01-26 18:19:39 +00:00
Ruslan Ermilov
6c7216df78 Sort sections. 2005-01-18 13:43:56 +00:00
Ruslan Ermilov
4438d91ea2 Scheduled mdoc(7) sweep. 2005-01-11 10:32:52 +00:00
Ruslan Ermilov
83c7ade90a NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00
Hartmut Brandt
5dd8ec0fd1 Fix compilation for the USE_KQUEUE case.
Submitted by:	Emil Mikulic <emikulic@dmr.ath.cx>
2004-12-20 10:21:27 +00:00
Hartmut Brandt
0512b0a6c7 maxJobs is declared extern in job.h so it cannot be static in job.c.
PR:		bin/75210
Submitted by:	Andreas Jochens; Robert Millan <rmh@debian.org>
2004-12-20 10:14:05 +00:00
Hartmut Brandt
674a77f864 Remove all the cleanup functions. There is no reason to free memory
just before exiting (especially given the number of memory leaks) -
it just costs time.
2004-12-17 13:20:19 +00:00
Ruslan Ermilov
025bfb24c4 Fix a long-standing bug when make(1) is passed the -V and
-f options in MAKEFLAGS environment variable, and some of
these options are also specified on the command line.

Thanks to:	marcel
Reviewed by:	harti
2004-12-16 19:46:50 +00:00
Hartmut Brandt
1d614caea7 Instead of dynamically allocating list heads allocated them statically
now that their size is only two pointers. This eliminates a lot of calls
to Lst_Init and from there to malloc together with many calls to
Lst_Destroy (in places where the list is obviously empty). This also
reduces the chance to leave a list uninitilized so we can remove more
NULL pointer checks and probably eliminates a couple of memory leaks.
2004-12-16 16:14:16 +00:00
Hartmut Brandt
54bb820a75 Remove a list that was just used to free all variables just before exiting. 2004-12-10 11:58:34 +00:00
Hartmut Brandt
fadeed7fb8 Remove a list that used to hold all the GNodes just to be able
to free them just before exiting.
2004-12-10 10:32:10 +00:00
Hartmut Brandt
16fa982c70 Remove a useless list where just all command lines are stuffed onto, never
used and just freed at the end. The idea might have been to be able
to free all the strings, but what's the point to free just before exiting?
2004-12-10 10:13:40 +00:00
Hartmut Brandt
3cfcafb49a Nobody actually checked the return codes from Lst_Append and Lst_Insert
so don't return anything.
2004-12-09 15:31:32 +00:00
Hartmut Brandt
0354c3e056 If a path element directory was never opened it is not on the list of
open directories so there is no need to remove it from there. This fixes
a core dump introduced by removing the run-time check from Lst_Remove.
2004-12-09 10:00:55 +00:00
Hartmut Brandt
4ec22b1196 Now that circular lists are gone remove stuff for them. Simplify
somewhat so that we can remove a local variable.
2004-12-08 17:48:15 +00:00
Hartmut Brandt
c81703e6a4 No caller checks the return code from Lst_Remove, so don't return one.
Simplify the algorithm now that circular lists are gone.
2004-12-08 17:43:43 +00:00
Hartmut Brandt
74c71bfc19 Don't check the return code from Lst_Remove. There is no way
that the list's first element is not on the list.
2004-12-08 16:50:14 +00:00
Hartmut Brandt
2e022816d8 Remove return value from Lst_Concat. None of the callers ever checked
it. Remove stuff that was needed for circular lists.
2004-12-08 16:47:19 +00:00
Hartmut Brandt
3220c0368c Don't free the second list in Lst_Concat for LST_CONCLINK; free it
in the caller instead.
2004-12-08 16:28:53 +00:00
Hartmut Brandt
c76d7d5047 Get rid of the sequential access feature of the lists. This was used
only in a couple of places and all of them except for one were easily
converted to use Lst_First/Lst_Succ. The one place is compatibility
mode in job.c where the it was used to advance to the next command on
each invocation of JobStart. For this case add a pointer to the node to
hold the currently executed command.
2004-12-08 16:22:01 +00:00
Hartmut Brandt
db7ce92a3c Constify the arguments to the list compare function. This temporarily
requires to make a copy of the filename in ReadMakefile and to duplicate
two small functions in suff.c. This hopefully will go away when everything
is constified.

Submitted by:	Max Okumoto <okumoto@ucsd.edu> (partly)
2004-12-08 12:59:27 +00:00
Hartmut Brandt
5d7406afd3 Constify some calls of Buf_AddBytes.
Submitted by:	Max Okumoto <okumoto@ucsd.edu>
2004-12-08 08:18:13 +00:00
Hartmut Brandt
cb93e26c8a Consify the arguments to str_concat. Remove the STR_DOFREE flag for that
purpose and explicitely free the input string in the one place that was
calling str_concat with that flag.

Submitted by:	Max Okumoto <okumoto@ucsd.edu>
2004-12-08 08:11:59 +00:00
Hartmut Brandt
bf1ead0608 Typedefs of pointers to structs are evil. Make Lst and LstNode typedef of
the structs itself not of pointers to them. This will simplify constification.

Checked by: diff on the object files
2004-12-07 13:49:13 +00:00
Hartmut Brandt
b82f920f8e Constification of arguments passed to functions; no change on the
resulting executable.

Checked by:	diff on original and new objects

Submitted by:	Max Okumoto <okumoto@ucsd.edu>
2004-12-07 12:23:45 +00:00
Hartmut Brandt
644a6874f9 Make needs no circular lists so remove them from the list code. 2004-12-07 10:14:16 +00:00
Hartmut Brandt
a82682c493 Some constification which doesn't require code rewrites. 2004-12-06 15:20:12 +00:00
Hartmut Brandt
595e513a56 Style: fix indentation. 2004-12-06 11:30:36 +00:00
Hartmut Brandt
f2b0d1538d Remove an unused macro. 2004-12-06 08:57:41 +00:00
Hartmut Brandt
45f507983f Constify arguments to Hash_FindEntry and Hash_CreateEntry. 2004-12-06 08:56:30 +00:00
Hartmut Brandt
997206eed2 Remove extra empty lines. 2004-12-06 08:52:02 +00:00
Hartmut Brandt
491fb056d3 Style: fix indentation, prototypes for functions even in comment. 2004-12-06 08:51:34 +00:00
Hartmut Brandt
e97977d265 Remove an extra space.
Submitted by:	ru
2004-12-03 13:03:16 +00:00
Hartmut Brandt
a8b951bb30 Fix breakage introduced on 64-bit platforms with my last commit. Need
to change to size_t in a couple of other places too.
2004-12-03 12:55:57 +00:00
Hartmut Brandt
db397f6ffe Plug a memory leak. 2004-12-03 12:07:03 +00:00
Hartmut Brandt
2d3d282892 Put macro arguments in paranthesis.
Submitted by:	johan
2004-12-03 12:02:14 +00:00
Hartmut Brandt
b6899024a6 Make sizes to be of type size_t and correct function arguments that
should be Byte (as the numerous casts to Byte in the function calls show).
2004-12-03 11:59:30 +00:00
Hartmut Brandt
002c565593 Style: fix indentation, protect macro with do { } while (0).
Checked with: diff on object file.
2004-12-03 08:43:07 +00:00
Hartmut Brandt
b52c5e95b6 Describe the .SHELL target.
Reviewed by:	ru
2004-12-03 08:03:11 +00:00
Hartmut Brandt
421cdafee3 Change the algorithm that matches the builtin shells from the name keyword
of the .SHELL target. Formerly it used to select the shell with the
longest common trailing substring, so that bash would select sh, but pocsh
would select csh. Now an exact match is required so that specifying bash
without also giving a path and the other keywords will give an error.

PR:
Submitted by:
Reviewed by:	ru
Approved by:
Obtained from:
MFC after:
2004-12-03 08:02:52 +00:00
Hartmut Brandt
743cf01795 Remove a double test for the same ptr != NULL and use the official
macro for this; reorder an if.
2004-12-01 17:44:04 +00:00
Hartmut Brandt
d21474cec4 Style: remove a lot of unnecessary casts, add some and spell the null
pointer constant as NULL.

Checked by: diff -r on the object files before and after
2004-12-01 10:29:20 +00:00
Hartmut Brandt
e6417f6fe2 Stylification: missing spaces, extra space after function names, casts
and the sizeof operator, missing empty lines, void casts, extra empty lines.

Checked by: diff on make *.o lst.lib/*.o

Submitted by:	Max Okumoto <okumoto@soe.ucsd.edu> (partly)
2004-11-30 17:46:29 +00:00
Hartmut Brandt
17446c050c Constify the array of predefined shells. It turns out that we need two
versions of the structure definition for this: one with const char
pointers, because otherwise gcc won't let us initialize the fields with
constant strings, and one without the const, because we need to work
with the structure.
2004-11-30 15:35:51 +00:00
Hartmut Brandt
e35e595f1d Change a couple of the primitve list functions to be macros. This changes
the semantic of Lst_Datum which formerly returned NULL when the argument
node was NULL. There was only one place in the source that relied on this
so change that place.
2004-11-30 10:35:04 +00:00
Hartmut Brandt
617a8c57ad Fix a bug that would truncate the full name of an archive member if
the length of happens to be larger than MAXPATHLEN.

PR:		bin/74368
Submitted by:	Max Okumoto <okumoto@ucsd.edu>
Obtained from:	DragonFlyBSD
2004-11-29 16:23:34 +00:00
Hartmut Brandt
1734fd27b4 Use typedefs for the types of the functions that are passed as arguments
to the list functions for better readability.

Submitted by:	Max Okumoto <okumoto@ucsd.edu>
2004-11-29 12:17:13 +00:00
Hartmut Brandt
6a72a34d01 Merge the contents of lstInt.h into the public lst.h. This let's us get
rid of a lot of uneccesary casts and temporary variables that have just
obfuscated the code. This also let's us implement a couple of the one-
liner list functions as macros (the first one is Lst_IsEmpty) and
simplify life once we start to throw consts on the code.
2004-11-29 08:38:16 +00:00
Hartmut Brandt
29b139f2bc Remove unused file. 2004-11-26 15:42:08 +00:00