Hi Sukender and Robert --

There were a sequence of commits starting with r11165 that appears to have broken stripping the extension. Backing out FileNameUtils.cpp to r11164 resolves the issue.

To reproduce the problem, try this command:
  osgviewer cow.osg.5,5,5.trans

getNameLessExtension is returning the original (extension intact) file name to the trans pseudoloader, which subsequently emits an error, and osgviewer exits.

On svn head, getNameLessExtension stores the position of dot, forwardslash, and backslash as size_type (unsigned). In this case, both forwareslash and backslash are npos (very large unsigned int). The code returns the original file name if (dot<backslash && dot<forwardslash). That evaluates to true in this case, so the original file name is returned with the extension intact.

I'm not sure of the exact logic you guys are after with this change, so I'll defer to you two to recommend a fix.
   -Paul



Sukender wrote:
You're welcome.

Sukender
PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/

----- "Robert Osfield" <[email protected]> a écrit :

Hi Sukender,


On Fri, Mar 5, 2010 at 12:10 PM, Sukender < [email protected] > wrote:


Here is a tiny fix for getNameLessExtension(). It does now check for
the presence of slashes ('/' and '\') to avoid changing the string
when having a dot in a directory.
Old behaviour: "abc.d/filename_no_ext" -> "abc"
New behaviour: "abc.d/filename_no_ext" -> "abc.d/filename_no_ext"



Change now merged and submitted to svn/trunk. I changed the variable
antiSlash to back_slash so that it has the usual naming form this type
of slash.


By the way, I spotted in the same file some
filename.find_first_of("://"). At first glance, it seems the goal is
to find "://" substring. If so, the call isn't appropriate since it
finds the first occurrence of ":" or "/", and not the first occurence
of the string "://".
If confirmed, it may be replaced with "find()".


Ooo, does look like it is a bug... I've just replaced
find_first_of("://") with find("://"), thanks for the spotting this
error.

Cheers,
Robert.




_______________________________________________
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

Reply via email to