From 3cc116ba2250e6946773ec22c6c7c6557773d28e Mon Sep 17 00:00:00 2001 From: wtschueller Date: Tue, 7 Apr 2015 21:45:31 +0200 Subject: Tcl: fix for extra line breaks in source browser introduced by commit 312bef5 --- src/tclscanner.l | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/tclscanner.l b/src/tclscanner.l index 6ad2e26..7befd40 100644 --- a/src/tclscanner.l +++ b/src/tclscanner.l @@ -666,7 +666,9 @@ static void tcl_codify(const char *s,const char *str) tcl.code->startFontClass(s); tcl.code_font=s; } - const char *p=str,*sp=p; + char *tmp = (char *) malloc(strlen(str)+1); + strcpy(tmp, str); + char *p=tmp,*sp=p; char c; bool done=FALSE; while (!done) @@ -676,7 +678,10 @@ static void tcl_codify(const char *s,const char *str) if (c=='\n') { tcl.code_line++; - // *(p-1)='\0'; // Dimitri: is this really needed? + *(p-1)='\0'; // Dimitri: is this really needed? + // wtschueller: As far as I can see: yes. + // Deletes that \n that would produce ugly source listings otherwise. + // However, there may exist more sophisticated solutions. tcl.code->codify(sp); if (tcl.code_font) { @@ -699,6 +704,7 @@ static void tcl_codify(const char *s,const char *str) done=TRUE; } } + free(tmp); tcl_font_end(); } -- cgit v0.12