Regarding the other functions, I don't recommend putting them in unless
they're actually needed somewhere. More code = more future maintenance and
greater probability of bugs. I've already spotted a bug in cleanRelativePath
("../.." will give an empty path) so it's likely there are others hiding in
there.On 15 February 2011 13:37, Sukender <[email protected]> wrote: > Forget about using macros, I did not spot that there were so much "wide" > windows functions calls... > > Sukender > PVLE - Lightweight cross-platform game engine - > http://pvle.sourceforge.net/ > > ----- "Sukender" <[email protected]> a écrit : > > > Hi Michael, > > > > I haven't tested your code yet, but may I suggest to use the macros > > from FileUtils.cpp, as I put in my submission (such as > > OSGDB_STRING_TO_FILENAME, OSGDB_FILENAME_TO_STRING...)? > > Anyway, if it works as expected, that's nice. Thanks for the > > submission. > > > > About the functions I coded, do you think they should be kept and > > exposed in the header (I mean only the pertinent ones), or simply > > removed? > > > > Cheers, > > > > Sukender > > PVLE - Lightweight cross-platform game engine - > > http://pvle.sourceforge.net/ > > > > ----- "Michael Platings" <[email protected]> a écrit : > > > > > Hi Robert & Sukender, > > > I'm guessing that the stack corruption was caused by calling > > > GetFullPathNameW with the nBufferLength argument as the number of > > > bytes in the buffer, rather than the number of characters. I've > > > attached code that uses GetFullPathNameW et al. with _countof() > > rather > > > than sizeof() and this works fine. > > > Cheers > > > Michael > > > > > > > > > On 14 February 2011 12:24, Robert Osfield < [email protected] > > > > > > wrote: > > > > > > > > > Hi Sukender and Michael, > > > > > > Michael could you review Sukender's changee and make comments as I > > > can't provide expertise on the Win32 side so have to defer to the > > > community. > > > > > > Thanks, > > > Robert. > > > > > > On Fri, Feb 11, 2011 at 9:08 AM, Sukender < [email protected] > > > wrote: > > > > Hi Michael and Robert, > > > > > > > > Here is the modified submission. Thoughts? > > > > > > > > Sukender > > > > PVLE - Lightweight cross-platform game engine - > > > http://pvle.sourceforge.net/ > > > > > > > > ----- "Sukender" < [email protected] > a écrit : > > > > > > > >> You're absolutely right, Michael, but the function is called only > > > for > > > >> complete paths. I'll make a tiny change in order to make it > > clearer > > > >> (or make the function more general). > > > >> > > > >> Sukender > > > >> PVLE - Lightweight cross-platform game engine - > > > >> http://pvle.sourceforge.net/ > > > >> > > > >> ----- "Michael Platings" < [email protected] > a écrit : > > > >> > > > >> > Hi Sukender, > > > >> > I just had a quick look at this and if I'm reading it right, > > > valid > > > >> > paths such as "..\..\folder\thing.osg" would cause a warning in > > > >> > cleanPath() and would return an incorrect path. > > > >> > > > > >> > > > > >> > On 10 February 2011 16:05, Sukender < [email protected] > wrote: > > > >> > > > > >> > > > > >> > Hi Robert, > > > >> > > > > >> > This is kind of tricky submission... I found that the current > > > >> > getRealPath() implementation for Windows doesn't work well with > > > UTF8 > > > >> > paths. So I tried to add the support using Unicode Windows API > > > >> calls. > > > >> > But unfortunately, the GetFullPathNameW() *corrupts the stack*! > > > >> Yes... > > > >> > I've done multiple tries and each with the same conclusion. I > > > added > > > >> a > > > >> > detailed comment about this, and finally wrote my own > > > implementation > > > >> > of this Windows API function. So you'll find: > > > >> > - getFullPathName(), a replacement for GetFullPathNameA() and > > > >> > GetFullPathNameW() > > > >> > - cleanPath(), which simply removes "." and ".." from a path > > > >> > - and a modified getRealPath() > > > >> > > > > >> > This is a bit risky as this is quite low level. Moreover I > > cannot > > > be > > > >> > sure this submission 100% works in all cases, and I do not have > > > >> access > > > >> > to more robust impementations (ie. C++0x or boost::filesystem). > > > >> > Please tell me if it seems okay for you. > > > >> > > > > >> > File modified: rev.12156. > > > >> > > > > >> > Cheers, > > > >> > > > > >> > Sukender > > > >> > PVLE - Lightweight cross-platform game engine - > > > >> > http://pvle.sourceforge.net/ > > > >> > > > > >> > _______________________________________________ > > > >> > osg-submissions mailing list > > > >> > [email protected] > > > >> > > > > >> > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > > >> > > > > >> > > > > >> > > > > >> > _______________________________________________ > > > >> > osg-submissions mailing list > > > >> > [email protected] > > > >> > > > > >> > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > > >> _______________________________________________ > > > >> osg-submissions mailing list > > > >> [email protected] > > > >> > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > > > > > > > _______________________________________________ > > > > osg-submissions mailing list > > > > [email protected] > > > > > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > > > > > > > > > > _______________________________________________ > > > osg-submissions mailing list > > > [email protected] > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > > > > > > > > _______________________________________________ > > > osg-submissions mailing list > > > [email protected] > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > _______________________________________________ > > osg-submissions mailing list > > [email protected] > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > _______________________________________________ > osg-submissions mailing list > [email protected] > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
