File: getinput-size_t.patch

package info (click to toggle)
maude 3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 18,420 kB
  • sloc: cpp: 120,919; sh: 4,241; makefile: 1,881; yacc: 1,722; lex: 847
file content (33 lines) | stat: -rw-r--r-- 1,089 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Author: Jakub Wilk <jwilk@debian.org>
Last-Update: Tue, 20 May 2014 13:35:26 +0200
Bug-Debian: http://bugs.debian.org/733407
Description: Types of the arguments for YY_INPUT has changed from int to
 yy_size_t (which is a typedef for size_t), which caused the following error:
 .
 <stdout>: In function 'int yy_get_next_buffer()':
 ./lexer.ll:56:72: error: invalid initialization of reference of type 'int&' from expression of type 'yy_size_t {aka unsigned int}'
 .
 This patch adjusts the types.  This change requires bumping build-dependency
 on flex to >= 2.5.36.

--- a/src/Mixfix/lexerAux.cc
+++ b/src/Mixfix/lexerAux.cc
@@ -23,6 +23,9 @@
 //
 //	Auxiliary functions and data needed by lexical analyzer.
 //
+
+#include <stddef.h>
+
 #define MAX_IN_DEPTH	100
 
 int inStackPtr = 0;
@@ -43,7 +46,7 @@ getInput(char* buf, yy_size_t& result, y
     fakeNewline = false;
   else
     {
-      int n = ioManager.getInput(buf, max_size, yyin);
+      size_t n = ioManager.getInput(buf, max_size, yyin);
       if (UserLevelRewritingContext::interrupted())
 	fakeNewline = false;
       else