Skip to content

Commit ba3d146

Browse files
authored
Merge pull request #1234 from xexyl/12331218
Resolved issues #1233 and #1218 Please NOTE: This commit, while recommended, is not mandatory for IOCCC28. Existing submissions under the previously released mkiocccentry toolkit remain valid.
2 parents 3e6fa4f + 46b60ba commit ba3d146

13 files changed

+1470
-777
lines changed

CHANGES.md

+10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,16 @@ Fixed bug where `overwrite_answers` was always true by default (`mkiocccentry`).
2020

2121
Updated man page for the above changes.
2222

23+
Resolved issues #1233 and #1218. Both `mkiocccentry` and `txzchk` (the only ones
24+
that use other tools) now search `$PATH` for the tools first by way of the
25+
`find_utils()` function (modified a fair bit) and a new util function in jparse
26+
called `resolve_path()`. The jparse util functions `shell_cmd()` and
27+
`pipe_open()` were also improved to resolve paths if no `/` is in the command
28+
name. As for `make`: we now search for `gmake` first as the Makefiles we need
29+
are GNU Makefiles.
30+
31+
Add missing `-r` to `rm` in `mkiocccentry_test.sh`.
32+
2333
**IMPORTANT NOTE**: you do NOT need to use this update in order to participate
2434
in the IOCCC28!
2535

jparse/CHANGES.md

+30
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,35 @@
11
# Significant changes in the JSON parser repo
22

3+
4+
## Release 2.2.35 2025-03-10
5+
6+
Improved `shell_cmd()` and `pipe_open()` to resolve path (using `resolve_path()`
7+
which searches `$PATH`) if there is no `/` in the command.
8+
9+
Updated `JPARSE_UTILS_VERSION` to `"2.0.5 2025-03-10"`.
10+
11+
12+
## Release 2.2.34 2025-03-09
13+
14+
Updated `base_name()`, `dir_name()` and added new function `resolve_path()`.
15+
16+
The function `base_name()` now will, on a NULL or empty string, return a copy of
17+
`"."` just like `basename(3)` does.
18+
19+
The function `dir_name()` now will, on a NULL or empty string or a string that
20+
has no `/` (unless `level < 0`) , return a copy of `"."` just like `dirname(3)`
21+
(though that function does not have the `level` functionality).
22+
23+
The function `resolve_path()` will go through the process's `$PATH` and search
24+
for an executable file with the name passed to the function, returning either a
25+
copy of the path or NULL. If the command starts with `/` or `./` then the
26+
`$PATH` is not searched and instead that exact string is duplicated and
27+
returned.
28+
29+
Updated `JPARSE_UTILS_VERSION` to `"2.0.4 2025-03-09"`.
30+
Updated `UTIL_TEST_VERSION` to `"2.0.2 2025-03-09"`.
31+
32+
333
## Release 2.2.33 2025-03-07
434

535
Additional sanity checks added to FTS code.

0 commit comments

Comments
 (0)