INF: tmpnam() Operation Does Not Change if P_tmpdir Modified

ID Number: Q46131

5.10 6.00 6.00a 6.00ax 7.00

MS-DOS

docerr

Summary:

In Microsoft C versions 5.0, 5.1, 6.0, 6.0a, 6.0ax, and C/C++ version

7.0, the documentation for the functions tmpnam() 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 online help for C 6.0 and page 611 of the "Microsoft C for the

MS-DOS Operating System Run-Time Library Reference" for C 5.1 state

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(). These two defines are provided only for XENIX/UNIX

portability. The two functions tmpnam() and tempnam() do not make use

of these two defines.

Additional reference words: 5.00 5.10 6.00 6.00a 6.00ax 7.00