| 167 | } |
| 168 | |
| 169 | std::string extensions() |
| 170 | { |
| 171 | static std::string g_extensions; |
| 172 | if( !g_extensions.empty() ) |
| 173 | { |
| 174 | return g_extensions; |
| 175 | } |
| 176 | |
| 177 | std::string attr; |
| 178 | getattribute( "extension_list", attr ); |
| 179 | |
| 180 | typedef boost::tokenizer<boost::char_separator<char> > Tokenizer; |
| 181 | Tokenizer formats( attr, boost::char_separator<char>( ";" ) ); |
| 182 | for( Tokenizer::const_iterator fIt = formats.begin(), eFIt = formats.end(); fIt != eFIt; ++fIt ) |
| 183 | { |
| 184 | size_t colonPos = fIt->find( ':' ); |
| 185 | if( colonPos != std::string::npos ) |
| 186 | { |
| 187 | std::string formatExtensions = fIt->substr( colonPos + 1 ); |
| 188 | Tokenizer extTok( formatExtensions, boost::char_separator<char>( "," ) ); |
| 189 | for( Tokenizer::iterator token = extTok.begin(), tokEnd = extTok.end(); token != tokEnd; ++token ) |
| 190 | { |
| 191 | g_extensions += " " + *token; |
| 192 | } |
| 193 | } |
| 194 | } |
| 195 | |
| 196 | return g_extensions; |
| 197 | } |
| 198 | |
| 199 | ColorConfig *colorConfig() |
| 200 | { |
no test coverage detected