--- extension/readdir.c.orig 2026-07-05 16:54:52.000000000 +0800 +++ extension/readdir.c 2026-07-10 16:58:49.000000000 +0800 @@ -220,8 +220,6 @@ #else len = sprintf(the_dir->buf, "%llu", ino); #endif -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Warray-bounds" the_dir->fw.fields[0].len = len; len += (flen = sprintf(the_dir->buf + len, "/%s", dirent->d_name)); the_dir->fw.fields[1].len = flen-1; @@ -229,7 +227,6 @@ ftstr = ftype(dirent, iobuf->name); len += (flen = sprintf(the_dir->buf + len, "/%s", ftstr)); the_dir->fw.fields[2].len = flen-1; -#pragma GCC diagnostic pop *out = the_dir->buf; @@ -306,12 +303,9 @@ /* pre-populate the field_width struct with constant values: */ the_dir->fw.use_chars = awk_false; the_dir->fw.nf = 3; -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Warray-bounds" the_dir->fw.fields[0].skip = 0; /* no leading space */ the_dir->fw.fields[1].skip = 1; /* single '/' separator */ the_dir->fw.fields[2].skip = 1; /* single '/' separator */ -#pragma GCC diagnostic pop size = sizeof(struct dirent) + 21 /* max digits in inode */ + 2 /* slashes */; emalloc(the_dir->buf, char *, size, "dir_take_control_of");