Patch to reduce usage of tempnam()

Pavel Roskin proski at gnu.org
Mon May 21 21:25:29 UTC 2001


Hi, Andrew!

> : I know that MC is the biggest consumer of the /tmp space on all my
> : systems. Restarting MC is not a big deal, but having a separate directory
> : for temporary files would be nice. Maybe I'll add support for MC_TMPDIR.
>
> I don't agree! It's nice to have only one environment variable TMPDIR
> for all programs!

Of course I didn't mean to remove support for TMPDIR completely. You can
have one variable as long as you don't define program-specific variables.

> I reviewed your patch and have some remarks now:
>
>   1) I think generated filename must be returned anyway. Temporary files must
>      be unlinked after use, but it is possible only if a filename is known.

That's correct. I couldn't find any function to unlink a file given its
open descriptor.

I'll probably disable support for NULL as the first argument - its not
used now and I cannot see how it can be used in MC.

>   2) This filenames are constructed by g_strconcat (), so they must be
>      g_free()d, not free()d. (ext.c and user.c)

Good hit! I was under wrong impression that MC is using g_free()
consistently. I should have learned that consistency and MC don't come
together :-)

I'll fix it shortly.

>   3) Optionally, may be it is more right to assign pname with NULL on error.

Again, I agree! This would save us several calls to g_free().

-- 
Regards,
Pavel Roskin





More information about the mc-devel mailing list