run: reject .ww directories as named sources

This commit is contained in:
2026-08-23 01:07:07 +09:00
parent ca0e533c13
commit 59fc76964c
6 changed files with 612 additions and 20 deletions

View File

@@ -7706,6 +7706,19 @@ do_run(int argc, char **argv)
if (src == NULL) src = ".";
struct stat requested;
int literal = stat(src, &requested) == 0;
if (literal && S_ISDIR(requested.st_mode)) {
size_t n = strlen(src);
if (n >= 3 && strcmp(src + n - 3, ".ww") == 0) {
if (n >= 8 && strcmp(src + n - 8, "_test.ww") == 0)
fprintf(stderr,
"ww: cannot run *_test.ww files (%s)\n", src);
else
fprintf(stderr,
"%s is a directory, should be a WW file\n", src);
free(incs);
return 1;
}
}
char resolved[PATH_MAX];
int is_dir = 0;
if (!resolve_module(src, incs, resolved, sizeof resolved, &is_dir)) {