The NetBSD Project

CVS log for src/usr.bin/make/str.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / make

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.102 / (download) - annotate - [select for diffs], Fri Jan 5 23:22:06 2024 UTC (2 months, 3 weeks ago) by rillig
Branch: MAIN
CVS Tags: HEAD
Changes since 1.101: +6 -2 lines
Diff to previous 1.101 (colored) to selected 1.3 (colored)

make: miscellaneous cleanups

Revision 1.101 / (download) - annotate - [select for diffs], Sun Dec 17 22:46:44 2023 UTC (3 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.100: +10 -3 lines
Diff to previous 1.100 (colored) to selected 1.3 (colored)

make: speed up pattern matching in the ':M' modifier

In the common patterns where '*' is followed by a regular character,
such as in the patterns '*.c' or '*.mk', search the next possible
matching position in a small loop, instead of repeatedly comparing the
first remaining pattern character to all special characters.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Dec 16 21:26:07 2023 UTC (3 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.99: +25 -39 lines
Diff to previous 1.99 (colored) to selected 1.3 (colored)

make: eliminate a local variable in Str_Match

No functional change.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Jun 23 05:03:04 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.98: +25 -26 lines
Diff to previous 1.98 (colored) to selected 1.3 (colored)

make: reduce indentation in pattern matching code

No functional change.

Revision 1.98 / (download) - annotate - [select for diffs], Fri Jun 23 04:56:54 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.97: +28 -15 lines
Diff to previous 1.97 (colored) to selected 1.3 (colored)

make: warn about malformed patterns in ':M', ':N' and '.if make(...)'

These patterns shouldn't occur in practice, as their results are tricky
to predict.  Generate a warning for now, and maybe an error later.

Reviewed by sjg@.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Jun 22 16:59:17 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.96: +10 -16 lines
Diff to previous 1.96 (colored) to selected 1.3 (colored)

make: unclutter string matching code

Revision 1.96 / (download) - annotate - [select for diffs], Thu Jun 22 16:32:09 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.95: +20 -19 lines
Diff to previous 1.95 (colored) to selected 1.3 (colored)

make: rename variables in string matching, remove redundant code

No functional change.

Revision 1.95 / (download) - annotate - [select for diffs], Thu Jun 22 12:59:54 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.94: +50 -19 lines
Diff to previous 1.94 (colored) to selected 1.3 (colored)

make: speed up pattern matching in the ':M' and ':N' modifiers

In the code coverage report, the highest count for Str_Match goes from
5,298,924 down to 79,646.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Dec 7 10:28:48 2022 UTC (15 months, 2 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.93: +4 -4 lines
Diff to previous 1.93 (colored) to selected 1.3 (colored)

make: clean up comments

Revision 1.93 / (download) - annotate - [select for diffs], Sat Jun 11 09:24:07 2022 UTC (21 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.92: +6 -19 lines
Diff to previous 1.92 (colored) to selected 1.3 (colored)

make: clean up comments for string splitting and string matching

No binary change.

Revision 1.92 / (download) - annotate - [select for diffs], Sat Jun 11 08:06:32 2022 UTC (21 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.91: +9 -24 lines
Diff to previous 1.91 (colored) to selected 1.3 (colored)

make: condense Str_Match

The test for '\\' followed by '\0' was redundant since at that point,
*str is guaranteed to be not '\0', which takes the next 'return false'.

No functional change.

Revision 1.91 / (download) - annotate - [select for diffs], Fri May 13 21:42:30 2022 UTC (22 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.90: +23 -5 lines
Diff to previous 1.90 (colored) to selected 1.3 (colored)

make: document platform dependency in string pattern matching

No unit test for this edge case since all other unit tests are platform-
independent.

To reproduce:
$ make clean
$ make -s PROG=s-make NOMAN=yes USER_CFLAGS=-fsigned-char
$ make clean
$ make -s PROG=u-make NOMAN=yes USER_CFLAGS=-funsigned-char
$ make clean
$ range=$(lua -e 'print(("[%c-%c]"):format(0xe4, 0x61))')
$ ./s-make -V "\${:UM:M$range}\${:UN:N$range}"
M
$ ./u-make -V "\${:UM:M$range}\${:UN:N$range}"
N

Revision 1.90 / (download) - annotate - [select for diffs], Fri May 13 20:37:01 2022 UTC (22 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.89: +7 -16 lines
Diff to previous 1.89 (colored) to selected 1.3 (colored)

make: clean up low-level comments, eliminate common subexpression

No functional change.

Revision 1.89 / (download) - annotate - [select for diffs], Thu Mar 3 19:50:01 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.88: +4 -4 lines
Diff to previous 1.88 (colored) to selected 1.3 (colored)

make: make code for string matching syntactically more consistent

No functional change.

Revision 1.88 / (download) - annotate - [select for diffs], Wed Dec 15 10:57:01 2021 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.87: +10 -2 lines
Diff to previous 1.87 (colored) to selected 1.3 (colored)

make: in CLEANUP mode, free interned strings at the very end

Noticed by sjg.

Revision 1.87 / (download) - annotate - [select for diffs], Mon Dec 13 05:25:04 2021 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.86: +19 -2 lines
Diff to previous 1.86 (colored) to selected 1.3 (colored)

make: fix memory leak for filenames in .for loops (since 2013-06-18)

Previously, each time a .for directive pushed its buffer on the input
file stack, the current filename was duplicated.  This was a waste of
memory.

The name of a file is typically only used while it is read in.  There is
one situation when the filename is needed for longer, which is when a
target is defined.

Since .for loops are implemented as a special form of included files,
each .for loop duplicated the current filename as well.

$ cat << EOF > for.mk
.for i in 1 2 3 4 5 6 7 8 9 0
.for i in 1 2 3 4 5 6 7 8 9 0
.for i in 1 2 3 4 5 6 7 8 9 0
.for i in 1 2 3 4 5 6 7 8 9 0
.for i in 1 2 3 4 5 6 7 8 9 0
.for i in 1 2 3 4 5 6 7 8 9 0
.for i in 1 2 3 4 5 6 7 8 9 0
.endfor
.endfor
.endfor
.endfor
.endfor
.endfor
.endfor

all:
	@ps -o rsz -p ${.MAKE.PID}
EOF

$ make-2021.12.13.03.55.16 -r -f for.mk
  RSZ
10720

$ ./make -r -f for.mk
 RSZ
1716

The difference is 8 MB, which amounts to 1 million .for loops.

Revision 1.86 / (download) - annotate - [select for diffs], Mon Jun 21 16:59:18 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.85: +4 -5 lines
Diff to previous 1.85 (colored) to selected 1.3 (colored)

make: eliminate local variable in Substring_Words

No functional change.

Revision 1.85 / (download) - annotate - [select for diffs], Sun May 30 21:16:54 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Changes since 1.84: +2 -18 lines
Diff to previous 1.84 (colored) to selected 1.3 (colored)

make: inline str_concat4

This function is only ever used for forming strings of the form
"archive(member)".

No functional change.

Revision 1.84 / (download) - annotate - [select for diffs], Sun Apr 11 19:05:06 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: cjep_staticlib_x
Changes since 1.83: +37 -12 lines
Diff to previous 1.83 (colored) to selected 1.3 (colored)

make: avoid unnecessary calls to strlen when evaluating modifiers

No functional change.

Revision 1.83 / (download) - annotate - [select for diffs], Sat Apr 3 14:39:02 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.82: +18 -4 lines
Diff to previous 1.82 (colored) to selected 1.3 (colored)

make: backport to C90

In the past few months I had accidentally used C99 features in the make
code.  According to tools/README, tools that are used in the build
system should restrict themselves to C90.

This allows make to build with GCC's options "-pedantic
-Wno-system-headers -Dinline= -Wno-error=cast-qual".

I didn't notice anyone actively complaining though, I just wanted to see
how much work this backporting would be.  The identifier __func__ is
still used, as in other tools.

No functional change.

Revision 1.82 / (download) - annotate - [select for diffs], Sat Apr 3 11:08:40 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.81: +14 -14 lines
Diff to previous 1.81 (colored) to selected 1.3 (colored)

make: use C99 bool type instead of defining its own

No functional change.

Revision 1.81 / (download) - annotate - [select for diffs], Mon Feb 1 22:36:28 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.80: +11 -5 lines
Diff to previous 1.80 (colored) to selected 1.3 (colored)

make: document necessary tests for Str_Match

Revision 1.80 / (download) - annotate - [select for diffs], Mon Feb 1 19:46:58 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored) to selected 1.3 (colored)

make: replace pre-increment with post-increment or simple addition

The rest of the code already prefers post-increment if there is no
actual difference.

Revision 1.79 / (download) - annotate - [select for diffs], Tue Jan 19 20:51:46 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored) to selected 1.3 (colored)

make(1): remove do-not-format markers from comments

These markers had been used inconsistently.  Furthermore the source code
had not been formatted automatically before 2020 at all, otherwise there
wouldn't have been any trailing whitespace left.

Revision 1.78 / (download) - annotate - [select for diffs], Sun Jan 10 23:59:53 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.77: +4 -4 lines
Diff to previous 1.77 (colored) to selected 1.3 (colored)

make(1): make a few more bool expressions more precise

The previous version of lint(1) from a few hours ago didn't catch all
occurrences.  And even the current one doesn't catch everything.
Function arguments and return types still need some work.  The "return
quietly" from shouldDieQuietly still implicitly converts from int to
_Bool.

No functional change.

Revision 1.77 / (download) - annotate - [select for diffs], Sun Jan 10 21:20:46 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored) to selected 1.3 (colored)

make(1): consistently use boolean expressions in conditions

Most of the make code already followed the style of explicitly writing
(ptr != NULL) instead of the shorter (ptr) in conditions.

The remaining 50 instances have been found by an experimental,
unpublished check in lint(1) that treats bool expressions as
incompatible to any other scalar type, just as in Java, C#, Pascal and
several other languages.

The only unsafe operation on Boolean that is left over is (flags &
FLAG), for an enum implementing a bit set.  If Boolean is an ordinary
integer type (the default), some high bits may get lost.  But if Boolean
is the same as _Bool (by compiling with -DUSE_C99_BOOLEAN), C99 6.3.1.2
defines that a conversion from any scalar to the type _Bool acts as a
comparison to 0, which cannot lose any bits.

Revision 1.76 / (download) - annotate - [select for diffs], Wed Dec 30 10:03:16 2020 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.75: +4 -3 lines
Diff to previous 1.75 (colored) to selected 1.3 (colored)

make(1): format multi-line comments

Revision 1.75 / (download) - annotate - [select for diffs], Sat Dec 12 19:13:47 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.74: +3 -3 lines
Diff to previous 1.74 (colored) to selected 1.3 (colored)

make(1): remove redundant call to strlen in Str_Words

Revision 1.74 / (download) - annotate - [select for diffs], Mon Nov 16 18:28:27 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.73: +3 -3 lines
Diff to previous 1.73 (colored) to selected 1.3 (colored)

make(1): use postfix increment where possible

Revision 1.73 / (download) - annotate - [select for diffs], Sun Nov 15 12:02:44 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.72: +13 -18 lines
Diff to previous 1.72 (colored) to selected 1.3 (colored)

make(1): clean up make.h, meta.c, parse.c, str.c

The main changes are in the comments, which have been shortened and
corrected.

Some local variables changed their names.

In ParseErrorInternal, the scope of va_start is now narrower.

In ParseDoDependency, the type of tOp has been fixed.

ParseGetLine doesn't take flags anymore but instead a parsing mode.
Previously, the flags had not been combined anyway.

At the beginning of Parse_File, fatals is already guaranteed to be 0, and
even if not, it would be wrong to just discard the fatal errors.

Revision 1.72 / (download) - annotate - [select for diffs], Sat Nov 7 10:44:53 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.71: +4 -5 lines
Diff to previous 1.71 (colored) to selected 1.3 (colored)

make(1): add pp_skip_hspace to skip horizontal whitespace during parsing

Revision 1.71 / (download) - annotate - [select for diffs], Sat Nov 7 10:16:19 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.70: +13 -13 lines
Diff to previous 1.70 (colored) to selected 1.3 (colored)

make(1): clean up code stylistically

* Replace character literal 0 with '\0'.
* Replace pointer literal 0 with NULL.
* Remove redundant parentheses.
* Parentheses in multi-line conditions are not redundant at the
  beginning of a line.
* Replace a few !ptr with ptr == NULL.
* Replace a few ptr with ptr != NULL.
* Replace (expr & mask) == 0 with !(expr & mask).
* Remove redundant braces for blocks in cases where the generated code
  stays the same.  (Assertions further down in the code would get
  different line numbers.)
* Rename parameters in CondParser_String to reflect the data flow.
* Replace #ifdef notdef with #if 0.

The generated code stays exactly the same, at least with GCC 5.5.0 on
NetBSD 8.0 amd64 using the default configuration.

Revision 1.70 / (download) - annotate - [select for diffs], Sat Oct 24 20:51:49 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored) to selected 1.3 (colored)

make(1): remove macros MIN and MAX

These macros typically evaluate one of their arguments twice.  Until
2020-08-31, they had not parenthesized their arguments properly.  They
are only used in a few places, therefore it doesn't hurt much to have
them expanded.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Oct 22 05:50:02 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored) to selected 1.3 (colored)

make(1): remove redundant type casts

This mainly affects the void pointers in callback functions for lists.
These had been necessary once when the parameter type was still
ClientData instead of void pointer.

Revision 1.68 / (download) - annotate - [select for diffs], Mon Oct 5 19:27:47 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.67: +2 -42 lines
Diff to previous 1.67 (colored) to selected 1.3 (colored)

make(1): revert previous commit

It had accidentally reverted all the work from the past few days.

Revision 1.67 / (download) - annotate - [select for diffs], Mon Oct 5 19:24:29 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.66: +40 -0 lines
Diff to previous 1.66 (colored) to selected 1.3 (colored)

make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02)

The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25.  In
that commit, openDirectories was replaced with a combination of a list
with a hash table, for more efficient lookup by name.

Upon cleanup, OpenDirs_Done is called, which in turn called
Dir_ClearPath.  Dir_ClearPath takes full ownership of the given list and
empties it.  This was no problem before since afterwards the list was
empty and calling Lst_Free just frees the remaining list pointer.

With OpenDirs, this list was combined with a hash table, and the hash
table contains the list nodes, assuming that the OpenDirs functions have
full ownership of both the list and the hash table.  This assumption was
generally correct, except for the one moment during cleanup where full
ownership of the list was passed to Dir_ClearPath, while the hash table
still contained pointers to the (now freed) list nodes.  This by itself
was not a problem since the hash table would be freed afterwards.  But
as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up
the freed directory by name and now found the freed list node, trying to
free it again.  Boom.

Fixed by replacing the call to Dir_ClearPath with code that only frees
the directories, without giving up control over the list.

Revision 1.66 / (download) - annotate - [select for diffs], Sat Oct 3 15:00:57 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.65: +2 -42 lines
Diff to previous 1.65 (colored) to selected 1.3 (colored)

make(1): inline Str_FindSubstring in JobOutput

Revision 1.65 / (download) - annotate - [select for diffs], Sun Sep 13 15:15:51 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.64: +4 -14 lines
Diff to previous 1.64 (colored) to selected 1.3 (colored)

make(1): clean up RCSID blocks

These blocks mostly consisted of redundant structure, following the same
#ifndef pattern over and over, with only minimal variation.

It's easier to maintain if the common structure is only written once and
encapsulated in a macro.

To avoid "defined but unused" warnings from GCC in the case where
MAKE_NATIVE is not defined, I had to add volatile.  Adding
MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the
resulting binary.

Revision 1.64 / (download) - annotate - [select for diffs], Sun Aug 30 19:56:02 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.63: +17 -26 lines
Diff to previous 1.63 (colored) to selected 1.3 (colored)

make(1): replace brk_string with Str_Words

The API is much simpler, and there is less detail that is exposed by
default and fewer punctuation to type on the caller's side.  To see that
there is some memory to be freed, one would have to look into the
struct.  Having part of the return value as the actual return value and
the rest in output parameters was unnecessarily asymmetrical.

Revision 1.63 / (download) - annotate - [select for diffs], Sat Aug 29 07:52:55 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.62: +4 -4 lines
Diff to previous 1.62 (colored) to selected 1.3 (colored)

make(1): allow for strict type checking for Boolean

Having Boolean aliased to int creates ambiguities since int is widely
used.  Allow to occasionally compile make with -DUSE_DOUBLE_BOOLEAN to
check that the type definitions still agree.

Revision 1.62 / (download) - annotate - [select for diffs], Sun Aug 23 18:26:35 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.61: +5 -5 lines
Diff to previous 1.61 (colored) to selected 1.3 (colored)

make(1): make brk_string return size_t for the number of words

Revision 1.61 / (download) - annotate - [select for diffs], Sun Aug 23 18:03:35 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.60: +6 -6 lines
Diff to previous 1.60 (colored) to selected 1.3 (colored)

make(1): prepare str.c for WARNS=6

The next step is to make brk_string return size_t instead of int.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Aug 11 18:41:46 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.59: +19 -3 lines
Diff to previous 1.59 (colored) to selected 1.3 (colored)

make(1): add str_concat4 to make the other code simpler

There's no need for arch.c to call strlen when there is a high-level API
for the same purpose.

Revision 1.59 / (download) - annotate - [select for diffs], Mon Aug 10 19:53:19 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.58: +19 -25 lines
Diff to previous 1.58 (colored) to selected 1.3 (colored)

make(1): replace str_concat with str_concat2 and str_concat3

The new functions have a simpler interface, and str_concat3 is even more
general-purpose, since the middle string is no longer required to be
exactly of length 1.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Aug 10 19:30:30 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.57: +6 -6 lines
Diff to previous 1.57 (colored) to selected 1.3 (colored)

make(1): fix parameter name of str_concat

The previous documentation mentioned Str_Concat, but str_concat has been
written in lowercase for years.  The "flags" are not flags since they
cannot be combined, not even when they are written in hex.

Revision 1.57 / (download) - annotate - [select for diffs], Mon Aug 10 19:20:33 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.56: +7 -14 lines
Diff to previous 1.56 (colored) to selected 1.3 (colored)

make(1): fix integer type in str_concat

Revision 1.56 / (download) - annotate - [select for diffs], Sun Aug 9 10:24:02 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.55: +21 -20 lines
Diff to previous 1.55 (colored) to selected 1.3 (colored)

make(1): format code in str.c consistently

Revision 1.55 / (download) - annotate - [select for diffs], Mon Aug 3 20:26:09 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.54: +21 -12 lines
Diff to previous 1.54 (colored) to selected 1.3 (colored)

make(1): no declaration-after-statement anymore

NetBSD make is intended to be maximally portable, therefore it uses only
C89.  This was not declared in the Makefile before.

There are still a few places in parse.c and metachar.c that use
end-of-line comments.  These will be fixed in a follow-up commit.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Aug 1 10:44:23 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.53: +12 -18 lines
Diff to previous 1.53 (colored) to selected 1.3 (colored)

make(1): reduce scope of local variables in brk_string

This also removes the unused assignment to words_cap.

Revision 1.53 / (download) - annotate - [select for diffs], Sun Jul 26 16:51:53 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.52: +14 -13 lines
Diff to previous 1.52 (colored) to selected 1.3 (colored)

make(1): document the circumstances in which brk_string returns NULL

Revision 1.52 / (download) - annotate - [select for diffs], Sun Jul 19 09:26:18 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.51: +3 -107 lines
Diff to previous 1.51 (colored) to selected 1.3 (colored)

make(1): move SysV string matching to var.c

This kind of string matching is only used in variable modifiers, and only
if this feature is enabled by SYSVVARSUB.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Jul 3 07:40:13 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.50: +67 -79 lines
Diff to previous 1.50 (colored) to selected 1.3 (colored)

make(1): refactor Str_Match

- use shorter variable names to avoid line breaks
- eliminate c2 variable
- change return type to Boolean

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jul 3 06:30:02 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.49: +11 -11 lines
Diff to previous 1.49 (colored) to selected 1.3 (colored)

make(1): clean up Str_Match

- removed unnecessary parentheses
- uniform test for end of string

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jul 3 06:25:23 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.48: +9 -10 lines
Diff to previous 1.48 (colored) to selected 1.3 (colored)

make(1): clean up documentation of Str_Match

Revision 1.48 / (download) - annotate - [select for diffs], Mon Jun 15 14:46:28 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.47: +5 -3 lines
Diff to previous 1.47 (colored) to selected 1.3 (colored)

make(1): fix performance problem in specially crafted :M modifier

This fix was previously suspected to make the vax build fail.  The next
build succeeded though, and it started 2 hours before this fix was
reverted.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Jun 14 23:13:21 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.46: +3 -5 lines
Diff to previous 1.46 (colored) to selected 1.3 (colored)

usr.bin/make: revert performance improvement

That change might be the cause of a build failure for vax.
http://releng.netbsd.org/builds/HEAD/202006131940Z/ builds fine.
http://releng.netbsd.org/builds/HEAD/202006141020Z/ doesn't.

The build fails with:
/home/source/ab/HEAD/src/external/gpl3/gcc/dist/gcc/machmode.h:524:28:
error: 'mode_size_inline' was not declared in this scope

Revision 1.46 / (download) - annotate - [select for diffs], Sat Jun 13 21:16:27 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.45: +5 -3 lines
Diff to previous 1.45 (colored) to selected 1.3 (colored)

usr.bin/make: make Str_Match faster for repeated asterisks

Conceptually related to https://en.wikipedia.org/wiki/ReDoS.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Jun 13 07:48:59 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.44: +13 -13 lines
Diff to previous 1.44 (colored) to selected 1.3 (colored)

usr.bin/make: remove redundant parentheses around return

Revision 1.44 / (download) - annotate - [select for diffs], Sat Jun 13 07:36:07 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.43: +5 -5 lines
Diff to previous 1.43 (colored) to selected 1.3 (colored)

usr.bin/make: consistently use ++ for incrementing pointers

Revision 1.43 / (download) - annotate - [select for diffs], Sat Jun 13 07:30:02 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.42: +5 -5 lines
Diff to previous 1.42 (colored) to selected 1.3 (colored)

usr.bin/make: fix typo in comment

Revision 1.42 / (download) - annotate - [select for diffs], Wed May 6 02:30:10 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.41: +7 -3 lines
Diff to previous 1.41 (colored) to selected 1.3 (colored)

Behave like gmake: empty string does not match % pattern

Revision 1.41 / (download) - annotate - [select for diffs], Sun May 3 12:10:28 2020 UTC (3 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.40: +61 -58 lines
Diff to previous 1.40 (colored) to selected 1.3 (colored)

usr.bin/make: refactor brk_string

The variables are renamed to reflect to which memory region each pointer
belongs.

The variable "curlen" was always zero.

The type of "ch" has changed to char, and its scope is now limited to
its actual use.

Comparisons of pointers are now consistently written as p != NULL
instead of !p, like character comparisons are written as ch != '\0'.

The "store_words_buf" is updated when the function returns, not before.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Apr 25 18:20:57 2020 UTC (3 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.39: +14 -9 lines
Diff to previous 1.39 (colored) to selected 1.3 (colored)

- Percent on the rhs is special only if the lhs has one too.
- If the rhs does not have percent, but the lhs has, the result is the rhs
This behavior matches gmake

Revision 1.39 / (download) - annotate - [select for diffs], Sun Dec 1 23:53:49 2019 UTC (4 years, 3 months ago) by rillig
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp
Changes since 1.38: +5 -3 lines
Diff to previous 1.38 (colored) to selected 1.3 (colored)

Fix out-of-bounds read in Str_Match.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Apr 21 22:15:44 2017 UTC (6 years, 11 months ago) by sjg
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-localcount-20170426, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: phil-wifi
Changes since 1.37: +9 -6 lines
Diff to previous 1.37 (colored) to selected 1.3 (colored)

Str_Match: fix closure tests for [^] and add unit-test.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Apr 11 17:30:13 2017 UTC (6 years, 11 months ago) by sjg
Branch: MAIN
CVS Tags: bouyer-socketcan-base1
Changes since 1.36: +14 -5 lines
Diff to previous 1.36 (colored) to selected 1.3 (colored)

Str_Match: allow [^a-z] to behave as expected.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Apr 6 09:57:00 2016 UTC (7 years, 11 months ago) by gson
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Changes since 1.35: +4 -4 lines
Diff to previous 1.35 (colored) to selected 1.3 (colored)

Fully avoid the nonstandard types u_char, u_int, and u_long, which
were only used inconsistently in a few places anyway.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Feb 12 01:35:56 2014 UTC (10 years, 1 month ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Changes since 1.34: +10 -4 lines
Diff to previous 1.34 (colored) to selected 1.3 (colored)

Reduce the calls to realloc from brk_string by basing initial argmax guess
on length of input.

Reviewed by: christos

Revision 1.34 / (download) - annotate - [select for diffs], Sat Mar 3 23:16:47 2012 UTC (12 years ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, dholland-make-base, agc-symver-base, agc-symver
Branch point for: tls-maxphys
Changes since 1.33: +5 -3 lines
Diff to previous 1.33 (colored) to selected 1.3 (colored)

Note in comment that Str_Match() does not detect or report invalid
patterns. This is not critical, since for the moment both possible
cases (unclosed [], and \ at the end of the string) are handled more
or less sanely.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Feb 25 21:17:21 2009 UTC (15 years, 1 month ago) by sno
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored) to selected 1.3 (colored)

replace c++ style comment by a c-style one

Revision 1.32 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:37 2009 UTC (15 years, 2 months ago) by dsl
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.31: +7 -7 lines
Diff to previous 1.31 (colored) to selected 1.3 (colored)

Change 'Buffer' so that it is the actual struct, not a pointer to it.
Saves having to malloc/free a fixed size structure.
Buf_Init() now takes ptr to Buffer to initialiase.
Change Buf_Destroy() to return ptr to string when not freed.
Remove large number of casts to (Byte) and (Byte *) - 'Byte' is 'char' here.
Buf_AddByte[s] guarantees that the data is 0 termininated, so never add '\0'.
Keep 'count' not 'left' and 'inPtr', code is simplier with only one update.
Fix fallou, no functional change.

Revision 1.31 / (download) - annotate - [select for diffs], Fri Dec 19 22:04:36 2008 UTC (15 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.30: +11 -4 lines
Diff to previous 1.30 (colored) to selected 1.3 (colored)

PR/32154: Roland Illig: brk_string fails to report errors in unquoted strings.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Dec 19 21:34:14 2008 UTC (15 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.29: +8 -4 lines
Diff to previous 1.29 (colored) to selected 1.3 (colored)

PR/34138: Roland Illig: In the non-expand case, fix brk_string not to eat
quotes.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Oct 6 22:09:21 2008 UTC (15 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Changes since 1.28: +7 -7 lines
Diff to previous 1.28 (colored) to selected 1.3 (colored)

Don't use emalloc and friends directly, but call them consistently
bmake_malloc and friends. Implement them via macros for the native case
and provide fallback implementations otherwise. Avoid polluting the
namespace by not defining enomem globally. Don't bother to provide
strdup and strndup, they were only used for the estrdup and estrndup
comapt code.

This addresses the presence of emalloc in system libraries on A/UX and
resulted strange issues as reported by Timothy E. Larson.

Revision 1.28 / (download) - annotate - [select for diffs], Fri Feb 15 21:29:50 2008 UTC (16 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, mjf-devfs2-base, mjf-devfs2, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base
Changes since 1.27: +10 -10 lines
Diff to previous 1.27 (colored) to selected 1.3 (colored)

back all changes out until I fix it properly.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Feb 14 22:11:20 2008 UTC (16 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: christos-broken
Changes since 1.26: +13 -13 lines
Diff to previous 1.26 (colored) to selected 1.3 (colored)

- use pid_t/size_t as appropriate instead of int.
- use %ld to print pids.
- fix a bit of lint.
- WARNS=4

Revision 1.26 / (download) - annotate - [select for diffs], Fri Dec 22 20:28:31 2006 UTC (17 years, 3 months ago) by erh
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-base, matt-armv6, hpcarm-cleanup, cube-autoconf-base, cube-autoconf
Changes since 1.25: +11 -3 lines
Diff to previous 1.25 (colored) to selected 1.3 (colored)

Correctly handle '\' at the end of a variable in the non-expanding case.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Aug 11 19:11:00 2006 UTC (17 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-4-base
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.24: +5 -3 lines
Diff to previous 1.24 (colored) to selected 1.3 (colored)

If a word is "" eat the last quote since we ate the first.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Aug 8 16:42:54 2005 UTC (18 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.23: +8 -8 lines
Diff to previous 1.23 (colored) to selected 1.3 (colored)

From Max Okumoto:
- Remove casts to NULL.
- Remove space between cast and object.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Feb 16 15:11:52 2005 UTC (19 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored) to selected 1.3 (colored)

PR/29203, PR/29204: Max Okumoto: KNF changes to make [no functional changes]

Revision 1.22 / (download) - annotate - [select for diffs], Fri May 7 00:04:40 2004 UTC (19 years, 10 months ago) by ross
Branch: MAIN
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored) to selected 1.3 (colored)

Simplify build, no functional changes.

Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when
you want things simple, instead add MAKE_NATIVE to get those hugely
important features like __RCSID().

It's now possible to build make on some hosts with: cc *.c */*.c

Revision 1.21 / (download) - annotate - [select for diffs], Sat Sep 27 21:29:37 2003 UTC (20 years, 6 months ago) by sjg
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.20: +4 -5 lines
Diff to previous 1.20 (colored) to selected 1.3 (colored)

Implement :[] modifier to allow picking a range of words out of a variable.
Also :tW and a W flag to :C and :S to allow treating value as a single word.
Add unit tests for the above, and fix some corner cases.
Based on patches supplied by Alan Barrett <apb@cequrux.com>

Revision 1.20 / (download) - annotate - [select for diffs], Thu Aug 7 11:14:57 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.19: +33 -3 lines
Diff to previous 1.19 (colored) to selected 1.3 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Jul 14 18:19:13 2003 UTC (20 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.18: +19 -23 lines
Diff to previous 1.18 (colored) to selected 1.3 (colored)

Pass WARNS=3

Revision 1.18 / (download) - annotate - [select for diffs], Sat Jun 15 18:24:57 2002 UTC (21 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.17: +23 -31 lines
Diff to previous 1.17 (colored) to selected 1.3 (colored)

Remove !__STDC__ stuff, de-__P(), ANSIfy, and de-register.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Nov 6 23:31:09 1998 UTC (25 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, minoura-xpg4dl-base, minoura-xpg4dl, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.16: +5 -4 lines
Diff to previous 1.16 (colored) to selected 1.3 (colored)

- full prototypes
- more conservative printf
- char -> unsigned char

Revision 1.16 / (download) - annotate - [select for diffs], Thu Mar 26 19:20:37 1998 UTC (26 years ago) by christos
Branch: MAIN
Changes since 1.15: +11 -45 lines
Diff to previous 1.15 (colored) to selected 1.3 (colored)

PR/5210: Hauke Fath: make core dumps with .SHELL
Unfortunately this revealed a deeper problem with the brk_string code.
To fix it:
	- remove sharing of the buffer between brk_string invocations
	- change the semantics of brk_string so that the argument array
	  starts with 0, and return the buffer where the strings are
	  stored

Revision 1.15 / (download) - annotate - [select for diffs], Sun Sep 28 03:31:10 1997 UTC (26 years, 6 months ago) by lukem
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Branch point for: netbsd-1-3
Changes since 1.14: +6 -2 lines
Diff to previous 1.14 (colored) to selected 1.3 (colored)

wrap #include <sys/cdefs.h>, __RCSID(...) stuff in #ifndef MAKE_BOOTSTRAP

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jul 1 21:17:37 1997 UTC (26 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.13: +3 -2 lines
Diff to previous 1.13 (colored) to selected 1.3 (colored)

Add WARNS=1
RCSID police

Revision 1.13 / (download) - annotate - [select for diffs], Wed Nov 6 17:59:23 1996 UTC (27 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.12: +17 -16 lines
Diff to previous 1.12 (colored) to selected 1.3 (colored)

- Merge in FreeBSD and Lite2 changes.
- Fix bug where a non-archive target with a .a suffix would always
  be considered to be out of date, since it does not have a TOC.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Mar 29 02:17:34 1996 UTC (28 years ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-BETA
Branch point for: netbsd-1-2
Changes since 1.11: +4 -5 lines
Diff to previous 1.11 (colored) to selected 1.3 (colored)

Added erealloc() function that calls enomem() if the allocation fails
(this is like the existing emalloc() function).  Changed all realloc()
calls to erealloc().

Revision 1.11 / (download) - annotate - [select for diffs], Mon Oct 30 17:36:27 1995 UTC (28 years, 5 months ago) by ws
Branch: MAIN
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored) to selected 1.3 (colored)

Always ensure space for trailing NULL in argv

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jun 14 15:19:56 1995 UTC (28 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-1-base
Branch point for: netbsd-1-1
Changes since 1.9: +7 -2 lines
Diff to previous 1.9 (colored) to selected 1.3 (colored)

- $NetBSD$ rcsids
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
  Posix mandates
- Added .PHONY target keyword

Revision 1.9 / (download) - annotate - [select for diffs], Sat Feb 4 23:44:41 1995 UTC (29 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.8: +5 -3 lines
Diff to previous 1.8 (colored) to selected 1.3 (colored)

str.c: Don't free NULL; does not work with non posix frees.
var.c: Minor memory leak plugged.
suff.c: Don't add extra sources on the null suffix if it has dependency
	lines or commands attached to it [POSIX says so]

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jun 16 18:50:18 1994 UTC (29 years, 9 months ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.7: +20 -3 lines
Diff to previous 1.7 (colored) to selected 1.3 (colored)

Christos' fix for quoting variable extraction properly.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jun 6 22:45:43 1994 UTC (29 years, 9 months ago) by jtc
Branch: MAIN
Changes since 1.6: +38 -12 lines
Diff to previous 1.6 (colored) to selected 1.3 (colored)

Fixes from Christos Zoulas, who used purify, objectcenter and testcenter
to find memory leaks and illegal memory accesses.

Revision 1.6 / (download) - annotate - [select for diffs], Tue May 17 15:55:42 1994 UTC (29 years, 10 months ago) by jtc
Branch: MAIN
Changes since 1.5: +8 -2 lines
Diff to previous 1.5 (colored) to selected 1.3 (colored)

Properly parse null command line arguments in makefile rules.
Fix from Christos Zoulas.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Mar 23 00:52:13 1994 UTC (30 years ago) by jtc
Branch: MAIN
Changes since 1.4: +6 -3 lines
Diff to previous 1.4 (colored) to selected 1.3 (colored)

Fixes from Christos Zoulas:
The following two patches fix a couple of problems with make(1)

1. Null Suffixes were not being copied, but they were being free'd
   This caused rules of the form:

   .c:
	${CC} ...

   to access invalid memory and potentially core dump..
   [That was always broken; I did not break that one :-)]

2. My recent fixes to parse ${VAR:%.foo=%.bar} handled the null string
   case incorrectly (${VAR:=.c} was broken).

Revision 1.4 / (download) - annotate - [select for diffs], Sat Mar 5 00:35:08 1994 UTC (30 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.3: +106 -10 lines
Diff to previous 1.3 (colored)

fixes/improvements from Christos Zoulas <christos@deshaw.com>.

Revision 1.3 / (download) - annotate - [selected], Thu Jan 13 21:02:03 1994 UTC (30 years, 2 months ago) by jtc
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)

Include appropriate header files to bring prototypes into scope.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Aug 1 18:11:43 1993 UTC (30 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored) to selected 1.3 (colored)

Add RCS identifiers.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (31 years ago) by cgd
Branch: MAIN
Diff to selected 1.3 (colored)

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>