If the value of the HOME environment variable ends in a /, nforenum dies with an assertion failure (it may not do so for all input files, but it does for ogfxe_extra.nfo from games-misc/opengfx-0.2.4):
NFORenum v3.4.6 r0 - Copyright 2004-2009 Dale McCoy.
Processing file "ogfxe_extra.nfo".
Failed to open data file: ".renum/79Dv.dat". (21)
Is a directory
renum: data.cpp:693: FILE* tryopen(const char*, const char*, bool): Assertion `false' failed.
The problem is the following segment of code, which is run on the contents of $HOME, in an attempt to trim the trailing slash:
Since dir is a C++ std::string, it doesn't work to overwrite the last character with a NUL - this just results in a string with a NUL as its last character. When appending the "/.renum/79Dv.dat" part, this results in "/foo\0/.renum/79Dv.dat", then when trying to open it as a filename the kernel truncates it at the NUL and tries to open the /foo directory as a file, which fails. The attached patch fixes this.
Created attachment 234583 [details, diff]
in portage. thanks for the bug report and patch.