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.