You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.3 KiB
76 lines
2.3 KiB
6 years ago
|
Description: Fixes by ZeroC, Inc.
|
||
|
Author: ZeroC, Inc.
|
||
|
Bug-Debian: http://bugs.debian.org/611749
|
||
|
|
||
|
--- mcpp-2.7.2.orig/src/main.c
|
||
|
+++ mcpp-2.7.2/src/main.c
|
||
|
@@ -326,6 +326,8 @@ static void init_main( void)
|
||
|
= FALSE;
|
||
|
option_flags.trig = TRIGRAPHS_INIT;
|
||
|
option_flags.dig = DIGRAPHS_INIT;
|
||
|
+ sh_file = NULL;
|
||
|
+ sh_line = 0;
|
||
|
}
|
||
|
|
||
|
int mcpp_lib_main
|
||
|
--- mcpp-2.7.2.orig/src/support.c
|
||
|
+++ mcpp-2.7.2/src/support.c
|
||
|
@@ -188,7 +188,7 @@ static char * append_to_buffer(
|
||
|
size_t length
|
||
|
)
|
||
|
{
|
||
|
- if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
|
||
|
+ 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,6 +1722,8 @@ com_start:
|
||
|
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 */
|
||
|
--- mcpp-2.7.2.orig/src/internal.H
|
||
|
+++ mcpp-2.7.2/src/internal.H
|
||
|
@@ -390,6 +390,8 @@ extern char * const work_end; /* E
|
||
|
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,6 +559,6 @@ extern void init_system( void);
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
-#if HOST_HAVE_STPCPY
|
||
|
+#if HOST_HAVE_STPCPY && !defined(stpcpy)
|
||
|
extern char * stpcpy( char * dest, const char * src);
|
||
|
#endif
|
||
|
--- mcpp-2.7.2.orig/src/system.c
|
||
|
+++ mcpp-2.7.2/src/system.c
|
||
|
@@ -3858,6 +3858,9 @@ static int chk_dirp(
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
+FILEINFO* sh_file;
|
||
|
+int sh_line;
|
||
|
+
|
||
|
void sharp(
|
||
|
FILEINFO * sharp_file,
|
||
|
int flag /* Flag to append to the line for GCC */
|
||
|
@@ -3868,8 +3871,6 @@ void sharp(
|
||
|
* else (i.e. 'sharp_file' is NULL) 'infile'.
|
||
|
*/
|
||
|
{
|
||
|
- static FILEINFO * sh_file;
|
||
|
- static int sh_line;
|
||
|
FILEINFO * file;
|
||
|
int line;
|
||
|
|