Edwin Leuven <[EMAIL PROTECTED]> writes:

| redhat 7.3, gcc-c++-2.96-112
| 
| Ed.
| 
| g++ -DHAVE_CONFIG_H -I. -I../../../lyx-devel/src/support -I../../src 
| -I../../../lyx-devel/src/support/../ -I../../../lyx-devel/boost -isystem 
| /usr/X11R6/include -g -O -fno-exceptions -ftemplate-depth-30 
| -Wno-non-template-friend -W -Wall -c 
| ../../../lyx-devel/src/support/filetools.C -MT filetools.lo -MD -MP -MF 
| .deps/filetools.TPlo
| ../../../lyx-devel/src/support/filetools.C: In function `const vector<string, 
| allocator<string> >
| DirList (const string &, const string &)':
| ../../../lyx-devel/src/support/filetools.C:216: call of overloaded 
| `insert(int, int, char)' is
| ambiguous

he!

| /usr/include/g++-3/std/bastring.h:256: candidates are:
| basic_string<charT, traits, Allocator> &basic_string<charT, traits,
| Allocator>::insert (unsigned int, unsigned int, charT) [with charT =
| char, traits = string_char_traits<char>, Allocator =
| __default_alloc_template<true, 0>]
| /usr/include/g++-3/std/bastring.h:262:                 charT
| *basic_string<charT, traits, Allocator>::insert (charT *, unsigned int,
| charT) [with charT = char, traits = string_char_traits<char>, Allocator
| = __default_alloc_template<true, 0>]

Ok, buggy string implementation. (or buggy compiler...)

        // This is a non-error checking C/system implementation
        string extension(ext);
        if (!extension.empty() && extension[0] != '.')
                extension.insert(0, 1, '.');

can you try to change this to:
                extension.insert(0u, 1, '.');

(or

                extension.insert(static_cast<unsigned int>(0), 1, '.');

Hopefully the first one is enough. There are other options as well but
then we are entering ugly-land.
)

-- 
        Lgb


Reply via email to