Previously we would close the output as soon as we wrote a single line.
This didn't account for continuation lines, where $1 == "".
The subsequent printfs would be to a closed file.
Fixes #1965
}
/^[^#]/{
if ($1 != "") {
+ # Close previous file handle to avoid exhausting file descriptors on macOS
+ # https://gitlab.com/graphviz/graphviz/-/issues/1965
+ if (name) {
+ close(name);
+ }
name = "colortmp/" $1 $2;
gsub ("\"","",name);
}
printf ("%s %s %s %s\n", $5, $7, $8, $9) > name;
- close(name);
}