|
2011-01-21 15:48 AEST by Arthur Barrett - The name matching happens in editor_set() in edit.cpp by calling
fileattr_find(handle,"editor[@name=U'%s']",editor)
The fileattr_find() function is in fileattr.cpp and uses CXmlNode->Lookup().
CXmlNode::Lookup() is a part of XmlApi in CVSAPI. The 'U' in the comparison
tells lookup to use usercmp() - other options are fncmp() and strcmp(). On
windows usercmp() is defined to stricmp().
So an 'easy' way to solve this would be to add a new compare type 'allcmp' and
use a different 'find' for cases where 'editor=*', ie:
if (*editor=='*')
fileattr_find(handle,"editor[@name=A'%s']",editor)
Where allcmp is defined as '0' (ie: always return match). Alternatively we
can create a regexcmp.
|