Re: psql \i handling ~ in specified file name
От | Andrew Dunstan |
---|---|
Тема | Re: psql \i handling ~ in specified file name |
Дата | |
Msg-id | 1664.24.211.141.25.1072020143.squirrel@www.dunslane.net обсуждение исходный текст |
Ответ на | Re: psql \i handling ~ in specified file name (Zach Irmen <zirmen@shaw.ca>) |
Список | pgsql-patches |
Zach Irmen said: > "Tom Lane" <tgl@sss.pgh.pa.us> writes: >> What happens if getenv("HOME") returns NULL? > > Yeah, the strdup fails. I'll take it out to fix that. > >> You also need to think about Windows > > Can I just ifndef WIN32 and not think about it? I'm not sure how that > would work either. > If we are going to have a Windows port I don't think we should treat it as a poor cousin. This information is easily discoverable on MSDN in 5 minutes. The answer is that you need to call NetUserGetInfo at level 11 to get a user's home directory. See http://msdn.microsoft.com/library/en-us/dnucmg/html/ucmgch09.asp and http://msdn.microsoft.com/library/en-us/netmgmt/netmgmt/netusergetinfo.asp (Thinks: using this requires linking with NetAPI32.dll - is that a legal or practical problem for us?) Also, I strongly recommend that the name be canonicalised - see initdb.c for an example. Doing this reduces platform-specific code a lot. Windows is quite able to handle filenames with a forward slash. (Thinks again: when we have WIN32 done we need to trawl through the code to try to abstract out as much as possible, so that people who don't/won't/can't do Windows specific code won't have to bother.) cheers andrew
В списке pgsql-patches по дате отправления: