diff options
Diffstat (limited to 'abs/extra/mcpp/fs28284.patch')
-rw-r--r-- | abs/extra/mcpp/fs28284.patch | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/abs/extra/mcpp/fs28284.patch b/abs/extra/mcpp/fs28284.patch new file mode 100644 index 0000000..960203c --- /dev/null +++ b/abs/extra/mcpp/fs28284.patch @@ -0,0 +1,100 @@ +diff -c -r -N ../mcpp-2.7.2/src/internal.H ./src/internal.H +*** ../mcpp-2.7.2/src/internal.H 2008-08-27 10:31:16.000000000 -0230 +--- ./src/internal.H 2009-12-17 21:01:35.000000000 -0330 +*************** +*** 390,395 **** +--- 390,397 ---- + extern char identifier[]; /* Lastly scanned name */ + extern IFINFO ifstack[]; /* Information of #if nesting */ + extern char work_buf[]; ++ extern FILEINFO * sh_file; ++ extern int sh_line; + /* Temporary buffer for directive line and macro expansion */ + + /* main.c */ +*************** +*** 557,562 **** + #endif + #endif + +! #if HOST_HAVE_STPCPY + extern char * stpcpy( char * dest, const char * src); + #endif +--- 559,564 ---- + #endif + #endif + +! #if HOST_HAVE_STPCPY && !defined(stpcpy) + extern char * stpcpy( char * dest, const char * src); + #endif +diff -c -r -N ../mcpp-2.7.2/src/main.c ./src/main.c +*** ../mcpp-2.7.2/src/main.c 2008-11-05 05:04:46.000000000 -0330 +--- ./src/main.c 2009-12-17 20:42:42.000000000 -0330 +*************** +*** 326,331 **** +--- 326,333 ---- + = FALSE; + option_flags.trig = TRIGRAPHS_INIT; + option_flags.dig = DIGRAPHS_INIT; ++ sh_file = NULL; ++ sh_line = 0; + } + + int mcpp_lib_main +diff -c -r -N ../mcpp-2.7.2/src/support.c ./src/support.c +*** ../mcpp-2.7.2/src/support.c 2008-06-10 06:02:33.000000000 -0230 +--- ./src/support.c 2009-12-17 20:42:39.000000000 -0330 +*************** +*** 188,194 **** + size_t length + ) + { +! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */ + size_t size = MAX( BUF_INCR_SIZE, length); + + if (mem_buf_p->buffer == NULL) { /* 1st append */ +--- 188,194 ---- + size_t length + ) + { +! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */ + size_t size = MAX( BUF_INCR_SIZE, length); + + if (mem_buf_p->buffer == NULL) { /* 1st append */ +*************** +*** 1722,1727 **** +--- 1722,1729 ---- + sp -= 2; + while (*sp != '\n') /* Until end of line */ + mcpp_fputc( *sp++, OUT); ++ mcpp_fputc( '\n', OUT); ++ wrong_line = TRUE; + } + goto end_line; + default: /* Not a comment */ +diff -c -r -N ../mcpp-2.7.2/src/system.c ./src/system.c +*** ../mcpp-2.7.2/src/system.c 2008-11-26 06:23:51.000000000 -0330 +--- ./src/system.c 2009-12-17 20:42:42.000000000 -0330 +*************** +*** 3858,3863 **** +--- 3858,3866 ---- + } + #endif + ++ FILEINFO* sh_file; ++ int sh_line; ++ + void sharp( + FILEINFO * sharp_file, + int flag /* Flag to append to the line for GCC */ +*************** +*** 3868,3875 **** + * else (i.e. 'sharp_file' is NULL) 'infile'. + */ + { +- static FILEINFO * sh_file; +- static int sh_line; + FILEINFO * file; + int line; + +--- 3871,3876 ---- |