diff options
-rw-r--r-- | src/ExternalLexer.cxx | 8 | ||||
-rw-r--r-- | src/ExternalLexer.h | 5 |
2 files changed, 4 insertions, 9 deletions
diff --git a/src/ExternalLexer.cxx b/src/ExternalLexer.cxx index d1d26201d..682320889 100644 --- a/src/ExternalLexer.cxx +++ b/src/ExternalLexer.cxx @@ -66,14 +66,12 @@ LexerLibrary::LexerLibrary(const char *ModuleName) { GetLexerNameFn GetLexerName = (GetLexerNameFn)(sptr_t)lib->FindFunction("GetLexerName"); GetLexerFactoryFunction fnFactory = (GetLexerFactoryFunction)(sptr_t)lib->FindFunction("GetLexerFactory"); - // Assign a buffer for the lexer name. - char lexname[100]; - strcpy(lexname, ""); - int nl = GetLexerCount(); for (int i = 0; i < nl; i++) { - GetLexerName(i, lexname, 100); + // Assign a buffer for the lexer name. + char lexname[100] = ""; + GetLexerName(i, lexname, sizeof(lexname)); lex = new ExternalLexerModule(SCLEX_AUTOMATIC, NULL, lexname, NULL); Catalogue::AddLexerModule(lex); diff --git a/src/ExternalLexer.h b/src/ExternalLexer.h index a2ec93946..3f66aeb66 100644 --- a/src/ExternalLexer.h +++ b/src/ExternalLexer.h @@ -27,15 +27,12 @@ typedef LexerFactoryFunction(EXT_LEXER_DECL *GetLexerFactoryFunction)(unsigned i class ExternalLexerModule : public LexerModule { protected: GetLexerFactoryFunction fneFactory; - char name[100]; public: ExternalLexerModule(int language_, LexerFunction fnLexer_, const char *languageName_=0, LexerFunction fnFolder_=0) : LexerModule(language_, fnLexer_, 0, fnFolder_), fneFactory(0) { - strncpy(name, languageName_, sizeof(name)); - name[sizeof(name)-1] = '\0'; - languageName = name; + languageName = languageName_; } virtual void SetExternal(GetLexerFactoryFunction fFactory, int index); }; |