> > If the implementation is such that it tries to create the file in a 
> > directory that the user does not have write permission to, 
> it's a bug.
> 
> Well, I think it would be a valid implementation on Unix to 
> always try to create the file in /tmp, which'd likely fail if 
> someone had revoked world write on /tmp --- but doing the 
> latter is administrator error, not a library fault.
> 
> OTOH, if / is *supposed* to be non world writable on Win32, 
> then trying to create temp files there indicates a seriously 
> brain-damaged library.
> It should be trying to create the file in a place where the 
> user is expected to have permission to do it.

Prior to Windows XP, users had write permissions in the root IIRC. They
definitly had in NT4, but I think they did in 2000 as well.


> Has anyone looked to see with tmpfile() actually does though? 
>  I'm a bit surprised that it doesn't create stuff in the same 
> directory as tmpnam().
> I wonder if Magnus and Yoshiyuki are testing under different 
> conditions.

I have repeated the problem with CVS head on XP SP2. It *does* create it
there (or rather, it tries to).

tmpnam() returns a file in the current dir per documentation, but I see
it generating one in the root instead.
tempnam() uses TMP environment variable.

tmpfile() and tmpnam() both use the same function to generate the
filename.

//Magnus

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to