file-system "system_complete()" and C:/
The following is a note of my developers that was attached to a bug close report. Is this special check for to convert "x:" to "x:/" a good practice for the Boost file-system library usage? Is there a better way to do this and/or are we missing something? -Matt The boost system_complete() function is used to convert relative paths into absolute paths. For some reason, boost interprets 'c:' as an incomplete path, and the windows boost behavior is to initially complete the path to the working directory. In other words 'c:' was becoming (in my case) 'c:/mydata/'. I added a check in Client.cpp to see if the --get parameter is equal to 'x:' and if it is, convert it to 'x:/'.
I would actually expect conversion to "c:\mydata\" to be native in Windows. For example: "dir c:" will list the files in the working directory. If I wanted the list of files in the root directory of "c:", I have to type "dir c:\". Each logical drive has a current directory upon which the commands are operated. Even in the GUI, typing "x:" opens the current directory in drive "x:". Completing "x:" to "x:\" is not native to Windows. Perhaphs the only place where "x:" might go to "x:\" is in Windows explorer (and this is switch in the registry I believe). However, if you type "c:" in a "Save as" dialog, it opens the application's current directory in "c:".
++Hector C.
Matt England
participants (2)
-
Calderon Hector
-
Matt England