diff options
Diffstat (limited to 'src')
| -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);  }; | 
