Microsoft KB Archive/46131

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 17:56, 18 July 2020 by 3155ffGd (talk | contribs) (importing KB archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base


DOC: tmpnam() Operation Does Not Change If P_tmpdir Modified

Article ID: 46131

Article Last Modified on 7/5/2005



APPLIES TO

  • The C Run-Time (CRT), when used with:
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 4.1 Subscription
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5



This article was previously published under Q46131

SUMMARY

In Microsoft C, the documentation for the functions tmpnam(), tempnam() and _tempnam() states that under certain conditions they create a name that consists of the path prefix defined by the P_tmpdir entry in STDIO.H. This is ambiguous. A better way of stating this is that they create a name that consists of a path prefix to the root of the current drive; this is also what P_tmpdir is defined as. However, P_tmpdir is defined as the root directory on the default drive, which is where the created name would reside. However, any modification of P_tmpdir in STDIO.H does not change the filename that is created.

The documentation states that changing the definition of P_tmpdir or L_tmpnam does not change the operation of tmpnam(). Nor does it change the operation of tempnam() or _tempnam(). These two defines are provided only for XENIX/UNIX portability. The three functions tmpnam(), tempnam() and _tempnam() do not make use of these two defines.


Additional query words: kbCRT kbVC100 kbVC150 kbVC200 kbVC400 kbVC410 kbVC500 kbDSupport

Keywords: kbdocfix kbdocerr KB46131