From 7e5b17bade3551298d76e8ac12f0391b7a0e7e3a Mon Sep 17 00:00:00 2001 From: Per Hedbor <ph@opera.com> Date: Thu, 10 Apr 2014 18:19:09 +0200 Subject: [PATCH] A less intrusive version. #line does not work in cmods very well. --- src/cpp.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/cpp.c b/src/cpp.c index 5e695826bb..0abbf55d68 100644 --- a/src/cpp.c +++ b/src/cpp.c @@ -2268,9 +2268,16 @@ static void insert_callback_define(struct cpp *this, this->handler, this->compat_handler, 2, 0 ) && TYPEOF(sp[-1]) == T_STRING ) { string_builder_shared_strcat(tmp, sp[-1].u.string); - string_builder_sprintf(tmp, "\n#line %ld ", (long)this->current_line); - insert_current_file_as_string( this,def,args,tmp); - string_builder_putchar(tmp, '\n'); + if( !this->prefix ){ + int min; + check_string_range( sp[-1].u.string, 0, &min, 0 ); + if( min < 32 ) + { + string_builder_sprintf(tmp, "\n#line %ld ", (long)this->current_line); + insert_current_file_as_string( this,def,args,tmp); + string_builder_putchar(tmp, '\n'); + } + } pop_stack(); } } -- GitLab