X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fm_scratch.c;h=a92941946a51653db90440d8045403e7a316cee8;hp=e29b10a0f6f680cd8bf053d87faeefac7a51c762;hb=a485ed478abbd599d8c9aab48934e7a26733ecb1;hpb=0ccd1945560c715e4cc4063209bd0d68b75d5470 diff --git a/sbr/m_scratch.c b/sbr/m_scratch.c index e29b10a..a929419 100644 --- a/sbr/m_scratch.c +++ b/sbr/m_scratch.c @@ -1,30 +1,40 @@ - /* * m_scratch.c -- construct a scratch file * - * $Id$ + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include - +/*************************************************************************** + * DO NOT USE THIS FUNCTION! IT WILL BE REMOVED IN THE FUTURE. + * THIS FUNCTION IS INSECURE. USE THE FUNCTIONS DEFINED IN m_mktemp.c. + ***************************************************************************/ char * m_scratch (char *file, char *template) { - char *cp; - static char buffer[BUFSIZ], tmpfil[BUFSIZ]; + char *cp; + static char buffer[BUFSIZ], tmpfil[BUFSIZ]; - snprintf (tmpfil, sizeof(tmpfil), "%sXXXXXX", template); -#ifdef HAVE_MKSTEMP - mkstemp (tmpfil); -#else - mktemp (tmpfil); -#endif - if ((cp = r1bindex (file, '/')) == file) - strncpy (buffer, tmpfil, sizeof(buffer)); - else - snprintf (buffer, sizeof(buffer), "%.*s%s", cp - file, file, tmpfil); - unlink (buffer); + snprintf (tmpfil, sizeof(tmpfil), "%sXXXXXX", template); +/* + * Mkstemp work postponed until later -Doug + * #ifdef HAVE_MKSTEMP + * mkstemp (tmpfil); + * #else + */ + mktemp (tmpfil); +/* + * #endif + */ + /* nasty - this really means: if there is no '/' in the path */ + if ((cp = r1bindex (file, '/')) == file) + strncpy (buffer, tmpfil, sizeof(buffer)); + else + snprintf (buffer, sizeof(buffer), "%.*s%s", (int)(cp - file), file, tmpfil); + unlink (buffer); - return buffer; + return buffer; }