Module Name:    src
Committed By:   rillig
Date:           Fri Aug 21 03:36:03 UTC 2020

Modified Files:
        src/usr.bin/make: compat.c dir.c lst.c lst.h make.c meta.c suff.c

Log Message:
make(1): make list library code stricter

Up to now, the list library didn't distinguish between programming
mistakes (violations of invariants, illegal parameter values) and
actually interesting situations like "element not found in list".

The current code contains many branches for conditions that are neither
exercised by the unit tests nor by real-world usage.  There is no point
in keeping this unnecessary code.

The list functions will be migrated from their lenient variants to the
stricter variants in small parts, each function getting the S suffix
when it is made strict, to avoid any confusion about how strict a
particular function is.  When all functions have been migrated, they
will be renamed back to their original names.

While here, the comments of the functions are cleaned up since they
mention irrelevant implementation details in the API comments, as well
as "side effects" that are really main effects.


To generate a diff of this commit:
cvs rdiff -u -r1.118 -r1.119 src/usr.bin/make/compat.c
cvs rdiff -u -r1.93 -r1.94 src/usr.bin/make/dir.c src/usr.bin/make/meta.c
cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/lst.c
cvs rdiff -u -r1.23 -r1.24 src/usr.bin/make/lst.h
cvs rdiff -u -r1.104 -r1.105 src/usr.bin/make/make.c
cvs rdiff -u -r1.97 -r1.98 src/usr.bin/make/suff.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to